Unexpected runtime error: IllegalStateException after ExoPlaybackException: MediaCodecAudioRenderer
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 [email protected] after filing this issue.
Hi @microkatz , is there any update on the above issue.
Hi @microkatz, did you get a chance to look into this? there are more similar issues on Firetablets and FireTV
@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.
sure @microkatz we are working on getting the bug report for the device
Hi @microkatz , we have attached the bug report for the Device and sent it as an email to the above mentioned email Id.