CryptoException
class CryptoException : RuntimeException, MediaDrmThrowable
kotlin.Any | ||||
↳ | kotlin.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 | |
---|---|
static Int |
This indicates that the video frame being decrypted exceeds the size of the device's protected output buffers. |
static Int |
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. |
static Int |
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. |
static Int |
This indicates that the key used for decryption is no longer valid due to license term expiration. |
static Int |
This error indicates that session state has been invalidated. |
static Int |
This indicates that the requested key was not found when trying to perform a decrypt operation. |
static Int |
This indicates that a required crypto resource was not able to be allocated while attempting the requested operation. |
static Int |
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. |
static Int |
This indicates that an operation was attempted that could not be supported by the crypto system of the device in its current configuration. |
Public constructors | |
---|---|
CryptoException(errorCode: Int, detailMessage: String?) |
Public methods | |
---|---|
MediaCodec.CryptoInfo? |
Returns CryptoInfo associated with this |
Int |
Returns error code associated with this |
Int | |
Int | |
Int |
Constants
ERROR_FRAME_TOO_LARGE
static valERROR_FRAME_TOO_LARGE: Int
Deprecated: 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.
Value: 8
ERROR_INSUFFICIENT_OUTPUT_PROTECTION
static valERROR_INSUFFICIENT_OUTPUT_PROTECTION: Int
Deprecated: 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.
Value: 4
ERROR_INSUFFICIENT_SECURITY
static valERROR_INSUFFICIENT_SECURITY: Int
Deprecated: 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.
Value: 7
ERROR_KEY_EXPIRED
static valERROR_KEY_EXPIRED: Int
Deprecated: 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.
Value: 2
ERROR_LOST_STATE
static valERROR_LOST_STATE: Int
Deprecated: 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.
Value: 9
ERROR_NO_KEY
static valERROR_NO_KEY: Int
Deprecated: 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.
Value: 1
ERROR_RESOURCE_BUSY
static valERROR_RESOURCE_BUSY: Int
Deprecated: 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.
Value: 3
ERROR_SESSION_NOT_OPENED
static valERROR_SESSION_NOT_OPENED: Int
Deprecated: 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.
Value: 5
ERROR_UNSUPPORTED_OPERATION
static valERROR_UNSUPPORTED_OPERATION: Int
Deprecated: 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.
Value: 6
Public constructors
CryptoException
CryptoException(
errorCode: Int,
detailMessage: String?)
Parameters | |
---|---|
detailMessage |
String?: This value may be null . |
Public methods
getCryptoInfo
fun getCryptoInfo(): MediaCodec.CryptoInfo?
Returns CryptoInfo associated with this CryptoException
if any
Return | |
---|---|
MediaCodec.CryptoInfo? |
CryptoInfo object if any. MediaCodec.CryptoException This value may be null . |
getErrorCode
fun getErrorCode(): Int
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.
getErrorContext
fun getErrorContext(): Int
Return | |
---|---|
Int |
an opaque integer that would help the @MediaDrm vendor locate the source of the error if available, otherwise 0. |
getOemError
fun getOemError(): Int
Return | |
---|---|
Int |
an OEM or SOC specific error code if available, otherwise 0. |
getVendorError
fun getVendorError(): Int
Return | |
---|---|
Int |
an error code defined by the MediaDrm plugin vendor if available, otherwise 0. |