# MediaCodecVideoDecoderException

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/video/MediaCodecVideoDecoderException.java+class:androidx.media3.exoplayer.video.MediaCodecVideoDecoderException)

*** ** * ** ***


```
@UnstableApi
public class MediaCodecVideoDecoderException extends MediaCodecDecoderException
```

<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) ||
|   |   |   |   | ↳ | [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.

## Summary

| ### Public fields |
|---|---|
| `final boolean` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoDecoderException#isSurfaceValid()` Whether the surface was valid when the exception occurred. |
| `final int` | `https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoDecoderException#surfaceIdentityHashCode()` The `https://developer.android.com/reference/java/lang/System.html#identityHashCode(java.lang.Object)` of the surface when the exception occurred. |

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/media3/exoplayer/video/MediaCodecVideoDecoderException#MediaCodecVideoDecoderException(java.lang.Throwable,androidx.media3.exoplayer.mediacodec.MediaCodecInfo,android.view.Surface)( 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, @https://developer.android.com/reference/androidx/annotation/Nullable https://developer.android.com/reference/android/view/Surface.html surface )` |

### Inherited fields

From [androidx.media3.exoplayer.mediacodec.MediaCodecDecoderException](https://developer.android.com/reference/androidx/media3/exoplayer/mediacodec/MediaCodecDecoderException) `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.

### 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

### isSurfaceValid

```
public final boolean isSurfaceValid
```

Whether the surface was valid when the exception occurred.

### surfaceIdentityHashCode

```
public final int surfaceIdentityHashCode
```

The `https://developer.android.com/reference/java/lang/System.html#identityHashCode(java.lang.Object)` of the surface when the exception occurred.

## Public constructors

### MediaCodecVideoDecoderException

```
public MediaCodecVideoDecoderException(
    Throwable cause,
    @Nullable MediaCodecInfo codecInfo,
    @Nullable Surface surface
)
```