Caused by com.google.android.exoplayer2.video.MediaCodecVideoDecoderException Decoder failed: OMX.MTK.VIDEO.DECODER.AVC
ExoPlayer Version
2.15.1
Devices that reproduce the issue
- OPPO Reno2 Z
- Xiaomi Mi A3
- Asus ZenFone Max Pro M2 (ZB631KL) (WW) / Max Pro M2 (ZB630KL) (IN)
- Infinix SMART 4 Plus
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Not tested
Reproduction steps
- Play a video, either start in the video or somewhere in the middle of the video Decoder failed exception occurs. middle case mostly appears when video goes into rebuffer state. Note : It's not an always issue, but on whatever devices it is produced, it produces frequently.
Expected result
There should not be any decoder fail issue, playback should run smoothly
Actual result
Decoder Failed exception with below exceptions. (Different exceptions for different devices) Crash Logs # 1
Device : Infinix SMART 4 Plus Caused by com.google.android.exoplayer2.video.MediaCodecVideoDecoderException: Decoder failed: OMX.MTK.VIDEO.DECODER.AVC at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1410) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:844) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:978) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:482) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:264) at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by java.lang.IllegalStateException at android.media.MediaCodec.native_dequeueInputBuffer(MediaCodec.java) at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2726) at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.dequeueInputBufferIndex(SynchronousMediaCodecAdapter.java:98) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1213) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:825) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:978) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:482) at android.os.Handler.dispatchMessage(Handler.java:103) at android.os.Looper.loop(Looper.java:264) at android.os.HandlerThread.run(HandlerThread.java:67)
Crash Logs # 2
Device : realme RMX3231 Caused by com.google.android.exoplayer2.mediacodec.MediaCodecDecoderException: Decoder failed: c2.android.aac.decoder at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.createDecoderException(MediaCodecRenderer.java:963) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:844) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:978) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:482) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:255) at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by java.lang.IllegalStateException at android.media.MediaCodec.native_dequeueOutputBuffer(MediaCodec.java) at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:3452) at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.dequeueOutputBufferIndex(SynchronousMediaCodecAdapter.java:105) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1838) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:823) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:978) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:482) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:255) at android.os.HandlerThread.run(HandlerThread.java:67)
Crash Logs # 3
Device : OPPO Reno7 5G
Caused by com.google.android.exoplayer2.video.MediaCodecVideoDecoderException: Decoder failed: OMX.MTK.VIDEO.DECODER.AVC.secure at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1410) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:844) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:978) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:482) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:262) at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by android.media.MediaCodec$CodecException: Error 0xffffffe0 at android.media.MediaCodec.native_dequeueInputBuffer(MediaCodec.java) at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2855) at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.dequeueInputBufferIndex(SynchronousMediaCodecAdapter.java:98) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1213) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:825) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:978) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:482) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:262) at android.os.HandlerThread.run(HandlerThread.java:67)
Media
Will send the media file on the email.
Bug Report
- You will email the zip file produced by
adb bugreportto [email protected] after filing this issue.
Source: google/ExoPlayer