# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Constants | Ctors | Methods | Inherited Methods

# MediaCodec.CryptoException

`public static final class MediaCodec.CryptoException`
`` `` `` `extends RuntimeException` ``

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 indicates that the video frame being decrypted exceeds the size of the device's protected output buffers.
`int` | `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.
`int` | `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.
`int` | `ERROR_KEY_EXPIRED` This indicates that the key used for decryption is no longer valid due to license term expiration.
`int` | `ERROR_LOST_STATE` This error indicates that session state has been invalidated.
`int` | `ERROR_NO_KEY` This indicates that the requested key was not found when trying to perform a decrypt operation.
`int` | `ERROR_RESOURCE_BUSY` This indicates that a required crypto resource was not able to be allocated while attempting the requested operation.
`int` | `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.
`int` | `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.

### Public constructors
`CryptoException(int errorCode, String detailMessage)`

### Public methods
`int` | `getErrorCode()` Retrieve the error code associated with a CryptoException

### Inherited methods
From class `java.lang.Throwable`
`final void` | `addSuppressed(Throwable exception)` Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.
`Throwable` | `fillInStackTrace()` Fills in the execution stack trace.
`Throwable` | `getCause()` Returns the cause of this throwable or `null` if the cause is nonexistent or unknown.
`String` | `getLocalizedMessage()` Creates a localized description of this throwable.
`String` | `getMessage()` Returns the detail message string of this throwable.
`StackTraceElement[]` | `getStackTrace()` Provides programmatic access to the stack trace information printed by `printStackTrace()`.
`final Throwable[]` | `getSuppressed()` Returns an array containing all of the exceptions that were suppressed, typically by the `try`-with-resources statement, in order to deliver this exception.
`Throwable` | `initCause(Throwable cause)` Initializes the cause of this throwable to the specified value.
`void` | `printStackTrace()` Prints this throwable and its backtrace to the standard error stream.
`void` | `printStackTrace(PrintWriter s)` Prints this throwable and its backtrace to the specified print writer.
`void` | `printStackTrace(PrintStream s)` Prints this throwable and its backtrace to the specified print stream.
`void` | `setStackTrace(StackTraceElement[] stackTrace)` Sets the stack trace elements that will be returned by `getStackTrace()` and printed by `printStackTrace()` and related methods.
`String` | `toString()` Returns a short description of this throwable.
From class `java.lang.Object`
`Object` | `clone()` Creates and returns a copy of this object.
`boolean` | `equals(Object obj)` Indicates whether some other object is "equal to" this one.
`void` | `finalize()` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
`final Class<?>` | `getClass()` Returns the runtime class of this `Object`.
`int` | `hashCode()` Returns a hash code value for the object.
`final void` | `notify()` Wakes up a single thread that is waiting on this object's monitor.
`final void` | `notifyAll()` Wakes up all threads that are waiting on this object's monitor.
`String` | `toString()` Returns a string representation of the object.
`final void` | `wait(long timeout, int nanos)` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.
`final void` | `wait(long timeout)` Causes the current thread to wait until either another thread invokes the `notify()` method or the `notifyAll()` method for this object, or a specified amount of time has elapsed.
`final void` | `wait()` Causes the current thread to wait until another thread invokes the `notify()` method or the `notifyAll()` method for this object.

## Constants

### ERROR_FRAME_TOO_LARGE

    public static final int 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

    public static final int 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

    public static final int 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

    public static final int 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

    public static final int 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

    public static final int 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

    public static final int 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

    public static final int 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

    public static final int 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

    public CryptoException (int errorCode,
                    String detailMessage)

Parameters
`errorCode` | `int`
`detailMessage` | `String`: This value may be `null`.

## Public methods

### getErrorCode

    public int getErrorCode ()

Retrieve the error code associated with a CryptoException

Returns
`int` | Value is `ERROR_NO_KEY`, `ERROR_KEY_EXPIRED`, `ERROR_RESOURCE_BUSY`, `ERROR_INSUFFICIENT_OUTPUT_PROTECTION`, `ERROR_SESSION_NOT_OPENED`, `ERROR_UNSUPPORTED_OPERATION`, `ERROR_INSUFFICIENT_SECURITY`, `ERROR_FRAME_TOO_LARGE`, or `ERROR_LOST_STATE`

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*