Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/android/media/MediaDrmThrowable#pubmethods)

# MediaDrmThrowable

*** ** * ** ***

` public interface MediaDrmThrowable `   
` `

|---|
| android.media.MediaDrmThrowable |

Known indirect subclasses [DeniedByServerException](https://developer.android.com/reference/android/media/DeniedByServerException), [MediaCodec.CryptoException](https://developer.android.com/reference/android/media/MediaCodec.CryptoException), [MediaCryptoException](https://developer.android.com/reference/android/media/MediaCryptoException), [MediaDrm.MediaDrmStateException](https://developer.android.com/reference/android/media/MediaDrm.MediaDrmStateException), [MediaDrm.SessionException](https://developer.android.com/reference/android/media/MediaDrm.SessionException), [MediaDrmException](https://developer.android.com/reference/android/media/MediaDrmException), [MediaDrmResetException](https://developer.android.com/reference/android/media/MediaDrmResetException), [MediaPlayer.NoDrmSchemeException](https://developer.android.com/reference/android/media/MediaPlayer.NoDrmSchemeException), [MediaPlayer.ProvisioningNetworkErrorException](https://developer.android.com/reference/android/media/MediaPlayer.ProvisioningNetworkErrorException), [MediaPlayer.ProvisioningServerErrorException](https://developer.android.com/reference/android/media/MediaPlayer.ProvisioningServerErrorException), [NotProvisionedException](https://developer.android.com/reference/android/media/NotProvisionedException), [ResourceBusyException](https://developer.android.com/reference/android/media/ResourceBusyException), [UnsupportedSchemeException](https://developer.android.com/reference/android/media/UnsupportedSchemeException) [DeniedByServerException](https://developer.android.com/reference/android/media/DeniedByServerException) Exception thrown when the provisioning server or key server denies a certficate or license for a device. [MediaCodec.CryptoException](https://developer.android.com/reference/android/media/MediaCodec.CryptoException) Thrown when a crypto error occurs while queueing a secure input buffer. [MediaCryptoException](https://developer.android.com/reference/android/media/MediaCryptoException) Exception thrown if MediaCrypto object could not be instantiated or if unable to perform an operation on the MediaCrypto object. [MediaDrm.MediaDrmStateException](https://developer.android.com/reference/android/media/MediaDrm.MediaDrmStateException) Thrown when a general failure occurs during a MediaDrm operation. [MediaDrm.SessionException](https://developer.android.com/reference/android/media/MediaDrm.SessionException) `https://developer.android.com/reference/android/media/MediaDrm.SessionException` is a misnomer because it may occur in methods **without** a session context. [MediaDrmException](https://developer.android.com/reference/android/media/MediaDrmException) Base class for MediaDrm exceptions [MediaDrmResetException](https://developer.android.com/reference/android/media/MediaDrmResetException) This exception is thrown when the MediaDrm instance has become unusable due to a restart of the mediaserver process. [MediaPlayer.NoDrmSchemeException](https://developer.android.com/reference/android/media/MediaPlayer.NoDrmSchemeException) Thrown when a DRM method is called before preparing a DRM scheme through prepareDrm(). [MediaPlayer.ProvisioningNetworkErrorException](https://developer.android.com/reference/android/media/MediaPlayer.ProvisioningNetworkErrorException) Thrown when the device requires DRM provisioning but the provisioning attempt has failed due to a network error (Internet reachability, timeout, etc.). [MediaPlayer.ProvisioningServerErrorException](https://developer.android.com/reference/android/media/MediaPlayer.ProvisioningServerErrorException) Thrown when the device requires DRM provisioning but the provisioning attempt has failed due to the provisioning server denying the request. [NotProvisionedException](https://developer.android.com/reference/android/media/NotProvisionedException) Exception thrown when an operation on a MediaDrm object is attempted and the device does not have a certificate. [ResourceBusyException](https://developer.android.com/reference/android/media/ResourceBusyException) Exception thrown when an operation on a MediaDrm object is attempted and hardware resources are not available, due to being in use. [UnsupportedSchemeException](https://developer.android.com/reference/android/media/UnsupportedSchemeException) Exception thrown when an attempt is made to construct a MediaDrm object using a crypto scheme UUID that is not supported by the device   

*** ** * ** ***

A @`https://developer.android.com/reference/java/lang/Throwable` thrown from `https://developer.android.com/reference/android/media/MediaDrm` or @`https://developer.android.com/reference/android/media/MediaCrypto` APIs

## Summary

| ### Public methods ||
|---|---|
| ` default int` | ` https://developer.android.com/reference/android/media/MediaDrmThrowable#getErrorContext()() ` Returns `https://developer.android.com/reference/android/media/MediaDrm` plugin vendor defined error context associated with this `https://developer.android.com/reference/android/media/MediaDrmThrowable`. |
| ` default int` | ` https://developer.android.com/reference/android/media/MediaDrmThrowable#getOemError()() ` Returns OEM or SOC specific error code associated with this `https://developer.android.com/reference/android/media/MediaDrmThrowable`. |
| ` default int` | ` https://developer.android.com/reference/android/media/MediaDrmThrowable#getVendorError()() ` Returns `https://developer.android.com/reference/android/media/MediaDrm` plugin vendor defined error code associated with this `https://developer.android.com/reference/android/media/MediaDrmThrowable`. |

## Public methods

### getErrorContext

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getErrorContext ()
```

Returns `https://developer.android.com/reference/android/media/MediaDrm` plugin vendor defined error context associated with this `https://developer.android.com/reference/android/media/MediaDrmThrowable`.

Please consult the `https://developer.android.com/reference/android/media/MediaDrm` plugin vendor for details on the error context.

<br />

| Returns ||
|---|---|
| `int` | an opaque integer that would help the @`https://developer.android.com/reference/android/media/MediaDrm` vendor locate the source of the error if available, otherwise 0. <br /> |

### getOemError

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getOemError ()
```

Returns OEM or SOC specific error code associated with this `https://developer.android.com/reference/android/media/MediaDrmThrowable`.

Please consult the `https://developer.android.com/reference/android/media/MediaDrm` plugin, chip, or device vendor for details on the error code.

<br />

| Returns ||
|---|---|
| `int` | an OEM or SOC specific error code if available, otherwise 0. <br /> |

### getVendorError

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getVendorError ()
```

Returns `https://developer.android.com/reference/android/media/MediaDrm` plugin vendor defined error code associated with this `https://developer.android.com/reference/android/media/MediaDrmThrowable`.

Please consult the `https://developer.android.com/reference/android/media/MediaDrm` plugin vendor for details on the error code.

<br />

| Returns ||
|---|---|
| `int` | an error code defined by the `https://developer.android.com/reference/android/media/MediaDrm` plugin vendor if available, otherwise 0. <br /> |