Support Offline Licenses
Bug: 8621588 Merge of the following CLs from the Widevine CDM repository: https://widevine-internal-review.googlesource.com/#/c/5602/ https://widevine-internal-review.googlesource.com/#/c/5431/ https://widevine-internal-review.googlesource.com/#/c/5660/ Change-Id: If37940e2535e1a1eca95e4394d8cf9bf689e9c3a
This commit is contained in:
@@ -31,28 +31,48 @@ CdmResponseType WvContentDecryptionModule::CloseSession(
|
||||
|
||||
CdmResponseType WvContentDecryptionModule::GenerateKeyRequest(
|
||||
const CdmSessionId& session_id,
|
||||
const CdmKeySetId& key_set_id,
|
||||
const CdmInitData& init_data,
|
||||
const CdmLicenseType license_type,
|
||||
CdmAppParameterMap& app_parameters,
|
||||
CdmKeyMessage* key_request,
|
||||
std::string* server_url) {
|
||||
CdmKeySystem key_system;
|
||||
return cdm_engine_->GenerateKeyRequest(session_id, false, key_system,
|
||||
init_data, license_type,
|
||||
app_parameters, key_request,
|
||||
server_url);
|
||||
CdmResponseType sts;
|
||||
if (license_type == kLicenseTypeRelease) {
|
||||
sts = cdm_engine_->OpenKeySetSession(key_set_id);
|
||||
if (sts != NO_ERROR)
|
||||
return sts;
|
||||
}
|
||||
sts = cdm_engine_->GenerateKeyRequest(session_id, key_set_id,
|
||||
init_data, license_type,
|
||||
app_parameters, key_request,
|
||||
server_url);
|
||||
|
||||
if ((license_type == kLicenseTypeRelease) && (sts != KEY_MESSAGE)) {
|
||||
cdm_engine_->CloseKeySetSession(key_set_id);
|
||||
}
|
||||
return sts;
|
||||
}
|
||||
|
||||
CdmResponseType WvContentDecryptionModule::AddKey(
|
||||
const CdmSessionId& session_id,
|
||||
const CdmKeyResponse& key_data) {
|
||||
return cdm_engine_->AddKey(session_id, key_data);
|
||||
const CdmKeyResponse& key_data,
|
||||
CdmKeySetId& key_set_id) {
|
||||
CdmResponseType sts = cdm_engine_->AddKey(session_id, key_data, key_set_id);
|
||||
if ((sts == KEY_ADDED) && session_id.empty()) // license type release
|
||||
cdm_engine_->CloseKeySetSession(key_set_id);
|
||||
return sts;
|
||||
}
|
||||
|
||||
CdmResponseType WvContentDecryptionModule::RestoreKey(
|
||||
const CdmSessionId& session_id,
|
||||
const CdmKeySetId& key_set_id) {
|
||||
return cdm_engine_->RestoreKey(session_id, key_set_id);
|
||||
}
|
||||
|
||||
CdmResponseType WvContentDecryptionModule::CancelKeyRequest(
|
||||
const CdmSessionId& session_id) {
|
||||
CdmKeySystem key_system;
|
||||
return cdm_engine_->CancelKeyRequest(session_id, false, key_system);
|
||||
return cdm_engine_->CancelKeyRequest(session_id);
|
||||
}
|
||||
|
||||
CdmResponseType WvContentDecryptionModule::QueryStatus(
|
||||
|
||||
Reference in New Issue
Block a user