media icon indicating copy to clipboard operation
media copied to clipboard

Unexpected runtime error: IllegalStateException after ExoPlaybackException: MediaCodecAudioRenderer

Open Akshita-WBD opened this issue 7 months ago • 5 comments

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 [email protected] after filing this issue.

Akshita-WBD avatar Jul 17 '25 07:07 Akshita-WBD

Hi @microkatz , is there any update on the above issue.

Akshita-WBD avatar Aug 07 '25 05:08 Akshita-WBD

Hi @microkatz, did you get a chance to look into this? there are more similar issues on Firetablets and FireTV

Akshita-WBD avatar Sep 17 '25 03:09 Akshita-WBD

@Akshita-WBD

Thank you for your patience!

It would help greatly if you could provide a bug report and test content. If you're unable to share the report or test content publicly, please send them to [email protected] with the subject Issue #2616. Please also update this issue to indicate you've done this.

Based on the error, it is probably a decoder-specific issue rather than one with the library. The full bug report may help provide additional log data useful for debugging.

microkatz avatar Sep 17 '25 10:09 microkatz

sure @microkatz we are working on getting the bug report for the device

Akshita-WBD avatar Oct 03 '25 08:10 Akshita-WBD

Hi @microkatz , we have attached the bug report for the Device and sent it as an email to the above mentioned email Id.

Akshita-WBD avatar Nov 17 '25 09:11 Akshita-WBD