Use Standard Errors in DrmPlugin

Now that MediaErrors.h has errors for some of the conditions we were using
custom error codes for previously, we should switch to using the standard
error codes in order to get better error reporting to the app.

Bug: 8621516

This is a merge of https://widevine-internal-review.googlesource.com/#/c/5040/
from widevine cdm repo to android repo.

Change-Id: I111a8825fa8fd8186a0d535cf19a7b08d9f35aee
This commit is contained in:
Jeff Tinker
2013-04-18 16:26:35 -07:00
parent fa1f5fafe1
commit cd304b1c46
3 changed files with 8 additions and 10 deletions

View File

@@ -13,13 +13,11 @@ using android::ERROR_DRM_VENDOR_MIN;
using android::ERROR_DRM_VENDOR_MAX; using android::ERROR_DRM_VENDOR_MAX;
enum { enum {
kErrorNeedProvisioning = ERROR_DRM_VENDOR_MIN, kErrorIncorrectBufferSize = ERROR_DRM_VENDOR_MIN,
kErrorDeviceRevoked = ERROR_DRM_VENDOR_MIN + 1, kErrorCDMGeneric = ERROR_DRM_VENDOR_MIN + 1,
kErrorIncorrectBufferSize = ERROR_DRM_VENDOR_MIN + 2, kErrorUnsupportedCrypto = ERROR_DRM_VENDOR_MIN + 2,
kErrorCDMGeneric = ERROR_DRM_VENDOR_MIN + 3, kErrorCannotGuaranteeSecurity = ERROR_DRM_VENDOR_MIN + 3,
kErrorUnsupportedCrypto = ERROR_DRM_VENDOR_MIN + 4, kErrorExpectedUnencrypted = ERROR_DRM_VENDOR_MIN + 4,
kErrorCannotGuaranteeSecurity = ERROR_DRM_VENDOR_MIN + 5,
kErrorExpectedUnencrypted = ERROR_DRM_VENDOR_MIN + 6,
// Used by crypto test mode // Used by crypto test mode
kErrorTestMode = ERROR_DRM_VENDOR_MAX, kErrorTestMode = ERROR_DRM_VENDOR_MAX,

View File

@@ -24,9 +24,9 @@ static android::status_t mapCdmResponseType(wvcdm::CdmResponseType res) {
case wvcdm::NEED_KEY: case wvcdm::NEED_KEY:
return android::ERROR_DRM_NO_LICENSE; return android::ERROR_DRM_NO_LICENSE;
case wvcdm::NEED_PROVISIONING: case wvcdm::NEED_PROVISIONING:
return kErrorNeedProvisioning; return android::ERROR_DRM_NOT_PROVISIONED;
case wvcdm::DEVICE_REVOKED: case wvcdm::DEVICE_REVOKED:
return kErrorDeviceRevoked; return android::ERROR_DRM_DEVICE_REVOKED;
case wvcdm::KEY_ERROR: case wvcdm::KEY_ERROR:
// KEY_ERROR is used by the CDM to mean just about any kind of error, not // KEY_ERROR is used by the CDM to mean just about any kind of error, not
// just license errors, so it is mapped to the generic response. // just license errors, so it is mapped to the generic response.

View File

@@ -597,7 +597,7 @@ status_t WVDrmPlugin::mapOEMCryptoResult(OEMCryptoResult res) {
case OEMCrypto_ERROR_SHORT_BUFFER: case OEMCrypto_ERROR_SHORT_BUFFER:
return kErrorIncorrectBufferSize; return kErrorIncorrectBufferSize;
case OEMCrypto_ERROR_NO_DEVICE_KEY: case OEMCrypto_ERROR_NO_DEVICE_KEY:
return kErrorNeedProvisioning; return android::ERROR_DRM_NOT_PROVISIONED;
case OEMCrypto_ERROR_INVALID_SESSION: case OEMCrypto_ERROR_INVALID_SESSION:
return android::ERROR_DRM_SESSION_NOT_OPENED; return android::ERROR_DRM_SESSION_NOT_OPENED;
case OEMCrypto_ERROR_UNKNOWN_FAILURE: case OEMCrypto_ERROR_UNKNOWN_FAILURE: