Correct exception returned after RemoveKeys is called.
[ Merge of http://go/wvgerrit/47065 ] RemoveKeys now resets associated crypto and policy resources, rather than just closing the crypto session. This results in a MediaCodec.CryptoException with error code ERROR_NO_KEY rather than ERROR_SESSION_NOT_OPENED, if decrypt is called afterwards. Error SESSION_NOT_FOUND_FOR_DECRYPT is made unique. Error codes were also synchonized between various branches in the widevine repo. Bug: 77304819 Test: WV unit/integration tests, VtsHalDrmV1_0Target tests Change-Id: I6cba2a3e1ce466d58c7727cde2d8f81d9503d655
This commit is contained in:
@@ -24,6 +24,7 @@ static android::status_t mapCdmResponseType(wvcdm::CdmResponseType res) {
|
||||
case wvcdm::NEED_KEY:
|
||||
case wvcdm::DECRYPT_NOT_READY:
|
||||
case wvcdm::KEY_NOT_FOUND_IN_SESSION:
|
||||
case wvcdm::NO_MATCHING_ENTITLEMENT_KEY:
|
||||
return android::ERROR_DRM_NO_LICENSE;
|
||||
case wvcdm::NEED_PROVISIONING:
|
||||
return android::ERROR_DRM_NOT_PROVISIONED;
|
||||
@@ -225,6 +226,8 @@ static android::status_t mapCdmResponseType(wvcdm::CdmResponseType res) {
|
||||
case wvcdm::SESSION_NOT_FOUND_8:
|
||||
case wvcdm::SESSION_NOT_FOUND_9:
|
||||
case wvcdm::SESSION_NOT_FOUND_10:
|
||||
case wvcdm::SESSION_NOT_FOUND_17:
|
||||
case wvcdm::SESSION_NOT_FOUND_18:
|
||||
return android::ERROR_DRM_SESSION_NOT_OPENED;
|
||||
case wvcdm::SESSION_KEYS_NOT_FOUND:
|
||||
return kSessionKeysNotFound;
|
||||
@@ -507,8 +510,15 @@ static android::status_t mapCdmResponseType(wvcdm::CdmResponseType res) {
|
||||
return kRemoveUsageInfoError2;
|
||||
case wvcdm::REMOVE_USAGE_INFO_ERROR_3:
|
||||
return kRemoveUsageInfoError3;
|
||||
case wvcdm::INSUFFICIENT_CRYPTO_RESOURCES_6:
|
||||
return kInsufficientCryptoResources6;
|
||||
case wvcdm::NOT_AN_ENTITLEMENT_SESSION:
|
||||
return kNotAnEntitlementSession;
|
||||
case wvcdm::LOAD_ENTITLED_CONTENT_KEYS_ERROR:
|
||||
return kLoadEntitledContentKeysError;
|
||||
case wvcdm::GET_PROVISIONING_METHOD_ERROR:
|
||||
return kGetProvisioningError;
|
||||
|
||||
}
|
||||
|
||||
// Return here instead of as a default case so that the compiler will warn
|
||||
|
||||
Reference in New Issue
Block a user