Unexpected runtime error: IllegalStateException after ExoPlaybackException: MediaCodecAudioRenderer
@microkatz is already working on this.
Since Jul 17, 2025.
- Dominant language
- Java
- Stars
- 3k
- Forks
- 955
- Avg merge
- 12d 14h
- Merged PRs (30d)
- 2
Description
Version
Media3 1.6.0
More version details
AndroidXMedia3/1.6.0
Devices that reproduce the issue
Tablets: X306F, Lenovo TB-X306F, API 30
Also Reproducible on Smart TV [mt5867][G06], Smart TV Pro [rtd288o][RTD2851M]
Steps to reproduce:
- Play a content with Dolby Atmos Audio - ec-3 (EAC-3 Codec)
Logs:
`07-03 19:26:22.181 29974 30418 E ACodec : [OMX.dolby.eac3.decoder] Failed to get port format to send format change
07-03 19:26:22.181 29974 30429 E ACodec : OMX/mediaserver died, signalling error!
07-03 19:26:22.181 29974 30429 E ACodec : signalError(omxError 0x8000100d, internalError -32)
07-03 19:26:22.181 29974 30428 E MediaCodec: Codec reported err 0xffffffe0, actionCode 0, while in state 6
07-03 19:26:22.181 29974 30428 D MediaCodec: flushMediametrics
07-03 19:26:22.181 29974 30418 E ACodec : OMX/mediaserver died, signalling error!
07-03 19:26:22.181 29974 30418 E ACodec : signalError(omxError 0x8000100d, internalError -32)
07-03 19:26:22.181 29974 30418 E MediaCodec: Codec reported err 0xffffffe0, actionCode 0, while in state 6
07-03 19:26:22.181 29974 30418 D MediaCodec: flushMediametrics
07-03 19:26:22.181 29974 30418 E ACodec : signalError(omxError 0x80001001, internalError -2147483648)
07-03 19:26:22.181 29974 30418 E MediaCodec: Codec reported err 0x80001001, actionCode 0, while in state 0
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: Audio codec error
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: java.lang.IllegalStateException
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: at android.media.MediaCodec.native_dequeueInputBuffer(Native Method)
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2855)
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.dequeueInputBufferIndex(SynchronousMediaCodecAdapter.java:105)
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1317)
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:880)
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: at androidx.media3.exoplayer.RendererHolder.render(RendererHolder.java:381)
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1329)
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:646)
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: at android.os.Handler.dispatchMessage(Handler.java:102)
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: at android.os.Looper.loop(Looper.java:223)
07-03 19:26:22.183 29974 30407 E MediaCodecAudioRenderer: at android.os.HandlerThread.run(HandlerThread.java:67)
07-03 19:26:22.185 29974 30429 E ACodec : signalError(omxError 0x80001001, internalError -2147483648)
07-03 19:26:22.185 29974 30429 I chatty : uid=10676(com.wbd.stream) CodecLooper identical 5 lines
07-03 19:26:22.185 29974 30429 E ACodec : signalError(omxError 0x80001001, internalError -2147483648)
07-03 19:26:22.185 29974 30428 E MediaCodec: Codec reported err 0x80001001, actionCode 0, while in state 0
07-03 19:26:22.185 29974 30429 E ACodec : signalError(omxError 0x80001001, internalError -2147483648)
07-03 19:26:22.185 29974 30428 E MediaCodec: Codec reported err 0x80001001, actionCode 0, while in state 0
07-03 19:26:22.185 29974 30429 E ACodec : signalError(omxError 0x80001001, internalError -2147483648)
07-03 19:26:22.185 29974 30428 E MediaCodec: Codec reported err 0x80001001, actionCode 0, while in state 0
07-03 19:26:22.186 29974 30429 E ACodec : signalError(omxError 0x80001001, internalError -2147483648)
07-03 19:26:22.186 29974 30429 I chatty : uid=10676(com.wbd.stream) CodecLooper identical 3 lines
07-03 19:26:22.186 29974 30429 E ACodec : signalError(omxError 0x80001001, internalError -2147483648)
07-03 19:26:22.186 29974 30428 E MediaCodec: Codec reported err 0x80001001, actionCode 0, while in state 0
07-03 19:26:22.186 29974 30428 I chatty : uid=10676(com.wbd.stream) MediaCodec_loop identical 9 lines
07-03 19:26:22.186 29974 30428 E MediaCodec: Codec reported err 0x80001001, actionCode 0, while in state 0
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: Playback error
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: androidx.media3.exoplayer.ExoPlaybackException: MediaCodecAudioRenderer error, index=1, format=Format(a5, null, audio/mp4, audio/eac3, ec-3, 128000, hu, [-1, -1, -1.0, null], [2, 48000]), format_supported=YES
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:745)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:102)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:223)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:67)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: Caused by: com.discovery.player.errors.MediaCodecAudioDecoderException: Decoder failed: OMX.dolby.eac3.decoder
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at com.discovery.player.exoplayer.ExoPlayerMediaCodecAudioRenderer.createDecoderException(ExoPlayerMediaCodecAudioRenderer.kt:59)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:902)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.RendererHolder.render(RendererHolder.java:381)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1329)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:646)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: ... 3 more
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: Caused by: java.lang.IllegalStateException
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at android.media.MediaCodec.native_dequeueInputBuffer(Native Method)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2855)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.dequeueInputBufferIndex(SynchronousMediaCodecAdapter.java:105)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1317)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:880)
07-03 19:26:22.190 29974 30407 E ExoPlayerImplInternal: ... 6 more
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: Disable failed.
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: java.lang.IllegalStateException
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at android.media.MediaCodec.native_flush(Native Method)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at android.media.MediaCodec.flush(MediaCodec.java:2298)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.flush(SynchronousMediaCodecAdapter.java:160)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:968)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:961)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:784)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:1040)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.BaseRenderer.disable(BaseRenderer.java:244)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.RendererHolder.disableRenderer(RendererHolder.java:645)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.RendererHolder.disable(RendererHolder.java:539)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:2065)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.disableRenderers(ExoPlayerImplInternal.java:2058)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1791)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1748)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:815)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:102)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:223)
07-03 19:26:22.193 29974 30407 E ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:67)
07-03 19:26:22.194 29974 30407 W MediaCodec-JNI: try to release MediaCodec from JMediaCodec::~JMediaCodec()...
07-03 19:26:22.194 29974 30407 W MediaCodec-JNI: done releasing MediaCodec from JMediaCodec::~JMediaCodec().
07-03 19:26:22.196 29974 30407 D MediaCodec: flushMediametrics
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: Reset failed.
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: java.lang.IllegalStateException
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at android.media.MediaCodec.native_stop(Native Method)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at android.media.MediaCodec.stop(MediaCodec.java:2251)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.release(SynchronousMediaCodecAdapter.java:171)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.releaseCodec(MediaCodecRenderer.java:809)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onReset(MediaCodecRenderer.java:791)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onReset(MediaCodecVideoRenderer.java:1050)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.BaseRenderer.reset(BaseRenderer.java:251)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.RendererHolder.maybeResetRenderer(RendererHolder.java:677)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.RendererHolder.reset(RendererHolder.java:667)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1799)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1748)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:815)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:102)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:223)
07-03 19:26:22.231 29974 30407 E ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:67)
07-03 19:26:22.761 29974 30407 W MediaCodec-JNI: try to release MediaCodec from JMediaCodec::~JMediaCodec()...
07-03 19:26:22.762 29974 30407 W MediaCodec-JNI: done releasing MediaCodec from JMediaCodec::~JMediaCodec().
07-03 19:26:22.762 29974 30407 D MediaCodec: flushMediametrics
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: Disable failed.
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: java.lang.IllegalStateException
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at android.media.MediaCodec.native_flush(Native Method)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at android.media.MediaCodec.flush(MediaCodec.java:2298)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.flush(SynchronousMediaCodecAdapter.java:160)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:968)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:961)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:784)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.audio.MediaCodecAudioRenderer.onDisabled(MediaCodecAudioRenderer.java:710)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at com.discovery.player.exoplayer.ExoPlayerMediaCodecAudioRenderer.onDisabled(ExoPlayerMediaCodecAudioRenderer.kt:46)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.BaseRenderer.disable(BaseRenderer.java:244)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.RendererHolder.disableRenderer(RendererHolder.java:645)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.RendererHolder.disable(RendererHolder.java:539)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:2065)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.disableRenderers(ExoPlayerImplInternal.java:2058)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1791)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.prepareInternal(ExoPlayerImplInternal.java:921)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:627)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:102)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:223)
07-03 19:26:22.413 29974 30407 E ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:67)`
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Not tested
Reproduction steps
- Playback of any content with audioCodec ec-3
Expected result
Fallback and successful playback without runtime error as in version 1.2.0
Actual result
Playback failure with: errorCode=ERROR_CODE_FAILED_RUNTIME_CHECK
Media
Any media with AudioCode - ec-3
Bug Report
- You will email the zip file produced by
adb bugreportto android-media-github@google.com after filing this issue.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.