Update license holder to handle Android license releases
Since the CDM engine handles license releases for CE CDM and Android differently, this changes the license release test to accomodate for that. Bug: 348712053 Change-Id: Ibc768e5d5c31ef8c2226b63dc622ffabfc0591fe
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include "license_request.h"
|
||||
#include "message_dumper.h"
|
||||
#include "oec_device_features.h"
|
||||
#include "properties.h"
|
||||
#include "test_base.h"
|
||||
|
||||
namespace wvcdm {
|
||||
@@ -126,10 +127,27 @@ void LicenseHolder::GenerateAndPostReleaseRequest(
|
||||
const std::string init_data_string = MakePSSH(pssh);
|
||||
const InitializationData init_data(kCencMimeType, init_data_string);
|
||||
init_data.DumpToLogs();
|
||||
const CdmResponseType result = cdm_engine_->GenerateKeyRequest(
|
||||
session_id_, key_set_id_, init_data, kLicenseTypeRelease,
|
||||
empty_app_parameters, &request);
|
||||
|
||||
CdmSessionId session_id;
|
||||
CdmKeySetId key_set_id;
|
||||
CdmResponseType result;
|
||||
// For Android when key set IDs are used, the key set ID passed in should have
|
||||
// a value and the session ID should be empty.
|
||||
if (!Properties::AlwaysUseKeySetIds()) {
|
||||
key_set_id = key_set_id_;
|
||||
result = cdm_engine_->OpenKeySetSession(key_set_id_, nullptr, nullptr);
|
||||
ASSERT_EQ(NO_ERROR, result) << "Failed for " << content_id();
|
||||
// For CE CDM, we only need the session ID to be valid.
|
||||
} else {
|
||||
session_id = session_id_;
|
||||
}
|
||||
result = cdm_engine_->GenerateKeyRequest(session_id, key_set_id, init_data,
|
||||
kLicenseTypeRelease,
|
||||
empty_app_parameters, &request);
|
||||
ASSERT_EQ(KEY_MESSAGE, result) << "Failed for " << content_id();
|
||||
if (!Properties::AlwaysUseKeySetIds()) {
|
||||
cdm_engine_->CloseKeySetSession(key_set_id_);
|
||||
}
|
||||
if (config_.dump_golden_data()) {
|
||||
// TODO (b/295956275) vickymin: write DumpReleaseRequest function
|
||||
// MessageDumper::DumpReleaseRequest(request);
|
||||
|
||||
Reference in New Issue
Block a user