diff options
author | Jeff Tinker <jtinker@google.com> | 2018-12-12 08:31:22 -0800 |
---|---|---|
committer | Jeff Tinker <jtinker@google.com> | 2019-01-11 15:31:04 -0800 |
commit | 20594d8b9d98209e973b735c33ccb31c3e36d3d1 (patch) | |
tree | 91fab08b13344730fddf149141fcd98f004e4e5c /media/java/android/media/MediaCodec.java | |
parent | 1bafe67c7855673c163483bedf8e304b9b75ec44 (diff) |
Add additional error conditions to MediaDrm
New codes are being added to handle resource
contention, lost session state, frame size too
large and insufficient security level for
decryption. Also cleans up inconsistent use of
tamper detected error where invalid state error
should have been used.
bug:111504510
bug:111505796
test: cts and gts media test cases
Change-Id: Ifa652d31ea151fbdc9faa0dd15b19f885d82b916
Diffstat (limited to 'media/java/android/media/MediaCodec.java')
-rw-r--r-- | media/java/android/media/MediaCodec.java | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java index 0375de3cc496..bc9500ddb3b7 100644 --- a/media/java/android/media/MediaCodec.java +++ b/media/java/android/media/MediaCodec.java @@ -2289,6 +2289,30 @@ final public class MediaCodec { */ public static final int ERROR_UNSUPPORTED_OPERATION = 6; + /** + * This indicates that the security level of the device is not + * sufficient to meet the requirements set by the content owner + * in the license policy. + */ + public static final int ERROR_INSUFFICIENT_SECURITY = 7; + + /** + * This indicates that the video frame being decrypted exceeds + * the size of the device's protected output buffers. When + * encountering this error the app should try playing content + * of a lower resolution. + */ + public static final int ERROR_FRAME_TOO_LARGE = 8; + + /** + * This error indicates that session state has been + * invalidated. It can occur on devices that are not capable + * of retaining crypto session state across device + * suspend/resume. The session must be closed and a new + * session opened to resume operation. + */ + public static final int ERROR_LOST_STATE = 9; + /** @hide */ @IntDef({ ERROR_NO_KEY, @@ -2296,7 +2320,10 @@ final public class MediaCodec { ERROR_RESOURCE_BUSY, ERROR_INSUFFICIENT_OUTPUT_PROTECTION, ERROR_SESSION_NOT_OPENED, - ERROR_UNSUPPORTED_OPERATION + ERROR_UNSUPPORTED_OPERATION, + ERROR_INSUFFICIENT_SECURITY, + ERROR_FRAME_TOO_LARGE, + ERROR_LOST_STATE }) @Retention(RetentionPolicy.SOURCE) public @interface CryptoErrorCode {} |