From cd304b1c4687d7bdebadfd994383ff99c812d58c Mon Sep 17 00:00:00 2001 From: Jeff Tinker Date: Thu, 18 Apr 2013 16:26:35 -0700 Subject: [PATCH] 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 --- libwvdrmengine/include/WVErrors.h | 12 +++++------- libwvdrmengine/include/mapErrors-inl.h | 4 ++-- libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/libwvdrmengine/include/WVErrors.h b/libwvdrmengine/include/WVErrors.h index f45eebc1..50550d3c 100644 --- a/libwvdrmengine/include/WVErrors.h +++ b/libwvdrmengine/include/WVErrors.h @@ -13,13 +13,11 @@ using android::ERROR_DRM_VENDOR_MIN; using android::ERROR_DRM_VENDOR_MAX; enum { - kErrorNeedProvisioning = ERROR_DRM_VENDOR_MIN, - kErrorDeviceRevoked = ERROR_DRM_VENDOR_MIN + 1, - kErrorIncorrectBufferSize = ERROR_DRM_VENDOR_MIN + 2, - kErrorCDMGeneric = ERROR_DRM_VENDOR_MIN + 3, - kErrorUnsupportedCrypto = ERROR_DRM_VENDOR_MIN + 4, - kErrorCannotGuaranteeSecurity = ERROR_DRM_VENDOR_MIN + 5, - kErrorExpectedUnencrypted = ERROR_DRM_VENDOR_MIN + 6, + kErrorIncorrectBufferSize = ERROR_DRM_VENDOR_MIN, + kErrorCDMGeneric = ERROR_DRM_VENDOR_MIN + 1, + kErrorUnsupportedCrypto = ERROR_DRM_VENDOR_MIN + 2, + kErrorCannotGuaranteeSecurity = ERROR_DRM_VENDOR_MIN + 3, + kErrorExpectedUnencrypted = ERROR_DRM_VENDOR_MIN + 4, // Used by crypto test mode kErrorTestMode = ERROR_DRM_VENDOR_MAX, diff --git a/libwvdrmengine/include/mapErrors-inl.h b/libwvdrmengine/include/mapErrors-inl.h index 826a80f9..b3f688da 100644 --- a/libwvdrmengine/include/mapErrors-inl.h +++ b/libwvdrmengine/include/mapErrors-inl.h @@ -24,9 +24,9 @@ static android::status_t mapCdmResponseType(wvcdm::CdmResponseType res) { case wvcdm::NEED_KEY: return android::ERROR_DRM_NO_LICENSE; case wvcdm::NEED_PROVISIONING: - return kErrorNeedProvisioning; + return android::ERROR_DRM_NOT_PROVISIONED; case wvcdm::DEVICE_REVOKED: - return kErrorDeviceRevoked; + return android::ERROR_DRM_DEVICE_REVOKED; case wvcdm::KEY_ERROR: // 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. diff --git a/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp b/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp index e2da7aba..107d76f2 100644 --- a/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp +++ b/libwvdrmengine/mediadrm/src/WVDrmPlugin.cpp @@ -597,7 +597,7 @@ status_t WVDrmPlugin::mapOEMCryptoResult(OEMCryptoResult res) { case OEMCrypto_ERROR_SHORT_BUFFER: return kErrorIncorrectBufferSize; case OEMCrypto_ERROR_NO_DEVICE_KEY: - return kErrorNeedProvisioning; + return android::ERROR_DRM_NOT_PROVISIONED; case OEMCrypto_ERROR_INVALID_SESSION: return android::ERROR_DRM_SESSION_NOT_OPENED; case OEMCrypto_ERROR_UNKNOWN_FAILURE: