Fix CTS post submit failures
MediaCodecTest.android.media.cts.MediaCodecTest.testCryptoError
was failing due to incorrect error code translation introduced
by the drm hidl hal.
bug: 35137940
Change-Id: Ibd02425a55194f3cb0acc0e53f90b156023fb1ab
diff --git a/drm/1.0/ICryptoPlugin.hal b/drm/1.0/ICryptoPlugin.hal
index ca8fa50..0a7fd26 100644
--- a/drm/1.0/ICryptoPlugin.hal
+++ b/drm/1.0/ICryptoPlugin.hal
@@ -99,7 +99,8 @@
* ERROR_DRM_RESOURCE_BUSY if the resources required to perform the
* decryption are not available, ERROR_DRM_INSUFFICIENT_OUTPUT_PROTECTION
* if required output protections are not active,
- * ERROR_DRM_SESSION_NOT_OPENED if the decrypt session is not opened, or
+ * ERROR_DRM_SESSION_NOT_OPENED if the decrypt session is not opened,
+ * ERROR_DRM_DECRYPT if the decrypt operation fails, and
* ERROR_DRM_CANNOT_HANDLE in other failure cases.
* @return bytesWritten the number of bytes output from the decryption
* @return detailedError if the error is a vendor-specific error, the
diff --git a/drm/1.0/default/TypeConvert.cpp b/drm/1.0/default/TypeConvert.cpp
index ede2a38..3a262c3 100644
--- a/drm/1.0/default/TypeConvert.cpp
+++ b/drm/1.0/default/TypeConvert.cpp
@@ -59,6 +59,9 @@
case android::ERROR_DRM_DEVICE_REVOKED:
status = Status::ERROR_DRM_DEVICE_REVOKED;
break;
+ case android::ERROR_DRM_DECRYPT:
+ status = Status::ERROR_DRM_DECRYPT;
+ break;
default:
ALOGW("Unable to convert legacy status: %d, defaulting to UNKNOWN",
legacyStatus);
diff --git a/drm/1.0/types.hal b/drm/1.0/types.hal
index 5273044..cea5b16 100644
--- a/drm/1.0/types.hal
+++ b/drm/1.0/types.hal
@@ -90,6 +90,12 @@
ERROR_DRM_DEVICE_REVOKED,
/**
+ * The DRM Plugin must return ERROR_DRM_DECRYPT if the CryptoPlugin
+ * decrypt operation fails.
+ */
+ ERROR_DRM_DECRYPT,
+
+ /**
* ERROR_DRM_UNKNOWN must be returned when a fatal failure occurs and no
* other defined error is appropriate.
*/