MediaCodec.CryptoException

public static final class MediaCodec.CryptoException
extends RuntimeException implements MediaDrmThrowable

java.lang.Object
   ↳ java.lang.Throwable
     ↳ java.lang.Exception
       ↳ java.lang.RuntimeException
         ↳ android.media.MediaCodec.CryptoException


Thrown when a crypto error occurs while queueing a secure input buffer.

Summary

Constants

int ERROR_FRAME_TOO_LARGE

This constant was deprecated in API level 31. Please use MediaDrm.ErrorCodes#ERROR_FRAME_TOO_LARGE

int ERROR_INSUFFICIENT_OUTPUT_PROTECTION

This constant was deprecated in API level 31. Please use MediaDrm.ErrorCodes#ERROR_INSUFFICIENT_OUTPUT_PROTECTION

int ERROR_INSUFFICIENT_SECURITY

This constant was deprecated in API level 31. Please use MediaDrm.ErrorCodes#ERROR_INSUFFICIENT_SECURITY

int ERROR_KEY_EXPIRED

This constant was deprecated in API level 31. Please use MediaDrm.ErrorCodes#ERROR_KEY_EXPIRED.

int ERROR_LOST_STATE

This constant was deprecated in API level 31. Please use MediaDrm.ErrorCodes#ERROR_LOST_STATE

int ERROR_NO_KEY

This constant was deprecated in API level 31. Please use MediaDrm.ErrorCodes#ERROR_NO_KEY.

int ERROR_RESOURCE_BUSY

This constant was deprecated in API level 31. Please use MediaDrm.ErrorCodes#ERROR_RESOURCE_BUSY

int ERROR_SESSION_NOT_OPENED

This constant was deprecated in API level 31. Please use MediaDrm.ErrorCodes#ERROR_SESSION_NOT_OPENED

int ERROR_UNSUPPORTED_OPERATION

This constant was deprecated in API level 31. Please use MediaDrm.ErrorCodes#ERROR_UNSUPPORTED_OPERATION

Public constructors

CryptoException(int errorCode, String detailMessage)

Public methods

MediaCodec.CryptoInfo getCryptoInfo()

Returns CryptoInfo associated with this CryptoException if any

int getErrorCode()

Returns error code associated with this CryptoException.

int getErrorContext()

Returns MediaDrm plugin vendor defined error context associated with this MediaDrmThrowable.

int getOemError()

Returns OEM or SOC specific error code associated with this MediaDrmThrowable.

int getVendorError()

Returns MediaDrm plugin vendor defined error code associated with this MediaDrmThrowable.

Inherited methods

Constants

ERROR_FRAME_TOO_LARGE

Added in API level 29
Deprecated in API level 31
public static final int ERROR_FRAME_TOO_LARGE

This constant was deprecated in API level 31.
Please use MediaDrm.ErrorCodes#ERROR_FRAME_TOO_LARGE

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.

Constant Value: 8 (0x00000008)

ERROR_INSUFFICIENT_OUTPUT_PROTECTION

Added in API level 21
Deprecated in API level 31
public static final int ERROR_INSUFFICIENT_OUTPUT_PROTECTION

This constant was deprecated in API level 31.
Please use MediaDrm.ErrorCodes#ERROR_INSUFFICIENT_OUTPUT_PROTECTION

This indicates that the output protection levels supported by the device are not sufficient to meet the requirements set by the content owner in the license policy.

Constant Value: 4 (0x00000004)

ERROR_INSUFFICIENT_SECURITY

Added in API level 29
Deprecated in API level 31
public static final int ERROR_INSUFFICIENT_SECURITY

This constant was deprecated in API level 31.
Please use MediaDrm.ErrorCodes#ERROR_INSUFFICIENT_SECURITY

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.

Constant Value: 7 (0x00000007)

ERROR_KEY_EXPIRED

Added in API level 19
Deprecated in API level 31
public static final int ERROR_KEY_EXPIRED

This constant was deprecated in API level 31.
Please use MediaDrm.ErrorCodes#ERROR_KEY_EXPIRED.

This indicates that the key used for decryption is no longer valid due to license term expiration. The operation can be retried after updating the expired keys.

Constant Value: 2 (0x00000002)

ERROR_LOST_STATE

Added in API level 29
Deprecated in API level 31
public static final int ERROR_LOST_STATE

This constant was deprecated in API level 31.
Please use MediaDrm.ErrorCodes#ERROR_LOST_STATE

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.

Constant Value: 9 (0x00000009)

ERROR_NO_KEY

Added in API level 19
Deprecated in API level 31
public static final int ERROR_NO_KEY

This constant was deprecated in API level 31.
Please use MediaDrm.ErrorCodes#ERROR_NO_KEY.

This indicates that the requested key was not found when trying to perform a decrypt operation. The operation can be retried after adding the correct decryption key.

Constant Value: 1 (0x00000001)

ERROR_RESOURCE_BUSY

Added in API level 19
Deprecated in API level 31
public static final int ERROR_RESOURCE_BUSY

This constant was deprecated in API level 31.
Please use MediaDrm.ErrorCodes#ERROR_RESOURCE_BUSY

This indicates that a required crypto resource was not able to be allocated while attempting the requested operation. The operation can be retried if the app is able to release resources.

Constant Value: 3 (0x00000003)

ERROR_SESSION_NOT_OPENED

Added in API level 23
Deprecated in API level 31
public static final int ERROR_SESSION_NOT_OPENED

This constant was deprecated in API level 31.
Please use MediaDrm.ErrorCodes#ERROR_SESSION_NOT_OPENED

This indicates that decryption was attempted on a session that is not opened, which could be due to a failure to open the session, closing the session prematurely, or the session being reclaimed by the resource manager.

Constant Value: 5 (0x00000005)

ERROR_UNSUPPORTED_OPERATION

Added in API level 24
Deprecated in API level 31
public static final int ERROR_UNSUPPORTED_OPERATION

This constant was deprecated in API level 31.
Please use MediaDrm.ErrorCodes#ERROR_UNSUPPORTED_OPERATION

This indicates that an operation was attempted that could not be supported by the crypto system of the device in its current configuration. It may occur when the license policy requires device security features that aren't supported by the device, or due to an internal error in the crypto system that prevents the specified security policy from being met.

Constant Value: 6 (0x00000006)

Public constructors

CryptoException

Added in API level 16
public CryptoException (int errorCode, 
                String detailMessage)

Parameters
errorCode int

detailMessage String: This value may be null.

Public methods

getCryptoInfo

Added in API level 34
public MediaCodec.CryptoInfo getCryptoInfo ()

Returns CryptoInfo associated with this CryptoException if any

Returns
MediaCodec.CryptoInfo CryptoInfo object if any. MediaCodec.CryptoException This value may be null.

getErrorCode

Added in API level 16
public int getErrorCode ()

Returns error code associated with this CryptoException.

Please refer to MediaDrm.ErrorCodes for the general error handling strategy and details about each possible return value.

Returns
int an error code defined in MediaDrm.ErrorCodes. Value is MediaDrm.ErrorCodes.ERROR_NO_KEY, MediaDrm.ErrorCodes.ERROR_KEY_EXPIRED, MediaDrm.ErrorCodes.ERROR_RESOURCE_BUSY, MediaDrm.ErrorCodes.ERROR_INSUFFICIENT_OUTPUT_PROTECTION, MediaDrm.ErrorCodes.ERROR_SESSION_NOT_OPENED, MediaDrm.ErrorCodes.ERROR_UNSUPPORTED_OPERATION, MediaDrm.ErrorCodes.ERROR_INSUFFICIENT_SECURITY, MediaDrm.ErrorCodes.ERROR_FRAME_TOO_LARGE, MediaDrm.ErrorCodes.ERROR_LOST_STATE, MediaDrm.ErrorCodes.ERROR_GENERIC_OEM, MediaDrm.ErrorCodes.ERROR_GENERIC_PLUGIN, MediaDrm.ErrorCodes.ERROR_LICENSE_PARSE, MediaDrm.ErrorCodes.ERROR_MEDIA_FRAMEWORK, or MediaDrm.ErrorCodes.ERROR_ZERO_SUBSAMPLES

getErrorContext

Added in API level 34
public int getErrorContext ()

Returns MediaDrm plugin vendor defined error context associated with this MediaDrmThrowable.

Please consult the MediaDrm plugin vendor for details on the error context.

Returns
int an opaque integer that would help the @MediaDrm vendor locate the source of the error if available, otherwise 0.

getOemError

Added in API level 34
public int getOemError ()

Returns OEM or SOC specific error code associated with this MediaDrmThrowable.

Please consult the MediaDrm plugin, chip, or device vendor for details on the error code.

Returns
int an OEM or SOC specific error code if available, otherwise 0.

getVendorError

Added in API level 34
public int getVendorError ()

Returns MediaDrm plugin vendor defined error code associated with this MediaDrmThrowable.

Please consult the MediaDrm plugin vendor for details on the error code.

Returns
int an error code defined by the MediaDrm plugin vendor if available, otherwise 0.