androidx / androidx/media

Unexpected runtime error: IllegalStateException after ExoPlaybackException: MediaCodecAudioRenderer

Open
#2,616 7 comments 0 reactions 1 assignee View on GitHub

@microkatz is already working on this.

Since Jul 17, 2025.

bug bug: device specific
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:

  1. 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
  1. 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 bugreport to android-media-github@google.com after filing this issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.