# MediaCodecDecoderException

Artifact: [androidx.media3:media3-exoplayer](https://developer.android.com/jetpack/androidx/releases/media3) [View Source](https://cs.android.com/search?q=file:androidx/media3/exoplayer/mediacodec/MediaCodecDecoderException.java+class:androidx.media3.exoplayer.mediacodec.MediaCodecDecoderException)

*** ** * ** ***


```
@UnstableApi
public class MediaCodecDecoderException extends DecoderException
```

<br />

|---|---|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object.html) |||||
| ↳ | [kotlin.Throwable](https://developer.android.com/reference/java/lang/Throwable.html) ||||
|   | ↳ | [java.lang.Exception](https://developer.android.com/reference/java/lang/Exception.html) |||
|   |   | ↳ | [androidx.media3.decoder.DecoderException](https://developer.android.com/reference/androidx/media3/decoder/DecoderException) ||
|   |   |   | ↳ | [androidx.media3.exoplayer.mediacodec.MediaCodecDecoderException](https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecDecoderException) |

Known direct subclasses [MediaCodecVideoDecoderException](https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoDecoderException)

|---|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoDecoderException` | Thrown when a failure occurs in a `https://developer.android.com/reference/android/media/MediaCodec.html` video decoder. |

*** ** * ** ***

Thrown when a failure occurs in a `https://developer.android.com/reference/android/media/MediaCodec.html` decoder.

## Summary

| ### Public fields |
|---|---|
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecInfo` | `https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecDecoderException#codecInfo()` The `https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecInfo` of the decoder that failed. |
| `final @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecDecoderException#diagnosticInfo()` An optional developer-readable diagnostic information string. |
| `final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecDecoderException#errorCode()` An optional error code reported by the codec. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecDecoderException#MediaCodecDecoderException(java.lang.Throwable,androidx.media3.exoplayer.mediacodec.MediaCodecInfo)( https://developer.android.com/reference/java/lang/Throwable.html cause, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecInfo codecInfo )` |

### Inherited methods

From [java.lang.Throwable](https://developer.android.com/reference/java/lang/Throwable.html) `synchronized final void` `https://developer.android.com/reference/java/lang/Throwable.html#addSuppressed(java.lang.Throwable)(https://developer.android.com/reference/java/lang/Throwable.html exception)` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#fillInStackTrace()()` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#getCause()()` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#getLocalizedMessage()()` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#getMessage()()` `StackTraceElement[]` `https://developer.android.com/reference/java/lang/Throwable.html#getStackTrace()()` `synchronized final Throwable[]` `https://developer.android.com/reference/java/lang/Throwable.html#getSuppressed()()` `synchronized https://developer.android.com/reference/java/lang/Throwable.html` `https://developer.android.com/reference/java/lang/Throwable.html#initCause(java.lang.Throwable)(https://developer.android.com/reference/java/lang/Throwable.html cause)` `void` `https://developer.android.com/reference/java/lang/Throwable.html#printStackTrace()()` `void` `https://developer.android.com/reference/java/lang/Throwable.html#setStackTrace(java.lang.StackTraceElement[])(StackTraceElement[] stackTrace)` `https://developer.android.com/reference/java/lang/String.html` `https://developer.android.com/reference/java/lang/Throwable.html#toString()()`

## Public fields

### codecInfo

```
public final @Nullable MediaCodecInfo codecInfo
```

The `https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecInfo` of the decoder that failed. Null if unknown.

### diagnosticInfo

```
public final @Nullable String diagnosticInfo
```

An optional developer-readable diagnostic information string. May be null.

### errorCode

```
public final int errorCode
```

An optional error code reported by the codec. May be 0 if no error code could be obtained.

## Public constructors

### MediaCodecDecoderException

```
public MediaCodecDecoderException(
    Throwable cause,
    @Nullable MediaCodecInfo codecInfo
)
```