Merge "Disallow restoring an offline license multiple times" into sc-dev
This commit is contained in:
@@ -215,6 +215,12 @@ CdmResponseType CdmSession::RestoreOfflineSession(const CdmKeySetId& key_set_id,
|
||||
if (!key_set_id_.empty()) {
|
||||
file_handle_->UnreserveLicenseId(key_set_id_);
|
||||
}
|
||||
if (has_license_been_loaded_ || has_license_been_restored_) {
|
||||
LOGE(
|
||||
"Disallow multiple offline license restores or restoring a license if "
|
||||
"a license has already been loaded");
|
||||
return RESTORE_OFFLINE_LICENSE_ERROR_3;
|
||||
}
|
||||
|
||||
key_set_id_ = key_set_id;
|
||||
|
||||
@@ -338,6 +344,7 @@ CdmResponseType CdmSession::RestoreOfflineSession(const CdmKeySetId& key_set_id,
|
||||
license_received_ = true;
|
||||
is_offline_ = true;
|
||||
is_release_ = license_type == kLicenseTypeRelease;
|
||||
has_license_been_restored_ = true;
|
||||
return KEY_ADDED;
|
||||
}
|
||||
|
||||
@@ -582,6 +589,7 @@ CdmResponseType CdmSession::AddKeyInternal(const CdmKeyResponse& key_response) {
|
||||
if (sts != NO_ERROR) return sts;
|
||||
}
|
||||
|
||||
has_license_been_loaded_ = true;
|
||||
return KEY_ADDED;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user