#10285·ExoPlayer

Caused by com.google.android.exoplayer2.video.MediaCodecVideoDecoderException Decoder failed: OMX.MTK.VIDEO.DECODER.AVC

Author: gb103Created May 21, 2022Updated Nov 14, 2025
Labelsbugneeds triage

ExoPlayer Version

2.15.1

Devices that reproduce the issue

  1. OPPO Reno2 Z
  2. Xiaomi Mi A3
  3. Asus ZenFone Max Pro M2 (ZB631KL) (WW) / Max Pro M2 (ZB630KL) (IN)
  4. Infinix SMART 4 Plus

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Not tested

Reproduction steps

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