androidx / media

Jetpack Media3 support libraries for media use cases, including ExoPlayer, an extensible media player for Android
Apache License 2.0
1.34k stars 315 forks source link

Caused by androidx.media3.exoplayer.ExoPlaybackException #932

Open androidlukas opened 6 months ago

androidlukas commented 6 months ago

Version

Media3 1.2.0

More version details

androidx-media-exoplayer = { group = "androidx.media3", name = "media3-exoplayer", version.ref = "1.2.0" }

Devices that reproduce the issue

Screenshot 2023-12-29 at 17 20 54

Samsung: Galaxy A23 Galaxy A02s Galaxy A23 Galaxy A01 Galaxy Tab A7 Galaxy A14 5G Galaxy J4+ Galaxy A11

Xiaomi: Redmi Note 11 Redmi 10C Redmi 8A Redmi 7A Redmi 10C Redmi 8

Motorola: Moto G32 Moto G(30) Moto E6 Moto G52 Moto G42 Moto G(9) Play Moto G Pure (XT2163DL) Moto G Play - 2023

Oppo: Oppo Reno7/F21 Pro CPH2461 CPH2473 A Series A Serier A78 CPH2365 A53

Devices that do not reproduce the issue

Samsung s10 Samsung A10 Google Pixel Xiaomi Mi 11 Lite

Reproducible in the demo app?

Not tested

Reproduction steps

  1. Play my video on player

Expected result

The media played successfully

Actual result

Crash

Caused by androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.4D4029, -1, null, [498, 2160, 24.0, null], [-1, -1]), format_supported=YES
       at f6.f0.handleMessage(:368)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loopOnce(Looper.java:233)
       at android.os.Looper.loop(Looper.java:344)
       at android.os.HandlerThread.run(HandlerThread.java:67)

Caused by androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.4D4029, -1, null, [498, 2160, 24.0, null], [-1, -1]), format_supported=YES at f6.f0.handleMessage(:368) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.os.HandlerThread.run(HandlerThread.java:67)

Media

https://github.com/androidx/media/assets/99200686/15a6b8bd-81fd-4122-93b9-09f751ab7168

Bug Report

androidlukas commented 4 months ago

@rohitjoins any updates?

Pogotovka commented 4 months ago

Hi guys, I was also facing this problem

And no solution helped me (trying another version of the library, adding Player.Builder(context) .setRenderersFactory(DefaultRenderersFactory(context) .setEnableDecoderFallback(true)).build())

Maybe someone knows how to solve this problem?

XilinJia commented 2 months ago

I'm also getting it:

Playback error
androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(160, null, null, video/avc, avc1.4D400C, 111557, null, [256, 144, 30.0, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:623)
at android.os.Handler.dispatchMessage(Handler.java:108)
at android.os.Looper.loop(Looper.java:216)
at android.os.HandlerThread.run(HandlerThread.java:65)
Caused by: androidx.media3.exoplayer.video.MediaCodecVideoDecoderException: Decoder failed: OMX.hisi.video.decoder.avc
at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1915)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:848)
at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:940)
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1112)
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:544)
at android.os.Handler.dispatchMessage(Handler.java:108) 
at android.os.Looper.loop(Looper.java:216) 
at android.os.HandlerThread.run(HandlerThread.java:65) 
Caused by: android.media.MediaCodec$CodecException: Error 0xfffffff3
at android.media.MediaCodec.releaseOutputBuffer(Native Method)
at android.media.MediaCodec.releaseOutputBuffer(MediaCodec.java:2750)
at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.releaseOutputBuffer(SynchronousMediaCodecAdapter.java:157)
at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.skipOutputBuffer(MediaCodecVideoRenderer.java:1528)
at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.processOutputBuffer(MediaCodecVideoRenderer.java:1330)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:2010)
at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:827)
at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:940) 
at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1112) 
at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:544) 
at android.os.Handler.dispatchMessage(Handler.java:108) 
at android.os.Looper.loop(Looper.java:216) 
at android.os.HandlerThread.run(HandlerThread.java:65) 
ChetanPatelPlayBoxTV commented 1 month ago

Hi @XilinJia @Pogotovka @androidlukas any update to solve above issue. I'm also facing same issue. 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: Playback error 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(0, null, null, video/avc, avc1.42C028, 4540800, null, [1920, 1080, -1.0, null], [-1, -1]), format_supported=YES 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:601) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:102) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:223) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:67) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: Caused by: androidx.media3.exoplayer.video.MediaCodecVideoDecoderException: Decoder failed: OMX.MS.AVC.Decoder 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1862) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:837) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:852) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1047) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:522) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: ... 3 more 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: Caused by: java.lang.IllegalStateException 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:3452) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.dequeueOutputBufferIndex(SynchronousMediaCodecAdapter.java:108) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1865) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:816) 05-06 18:22:53.520 32330 3007 E ExoPlayerImplInternal: ... 6 more 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: Disable failed. 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: java.lang.IllegalStateException 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at android.media.MediaCodec.native_flush(Native Method) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at android.media.MediaCodec.flush(MediaCodec.java:2298) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.flush(SynchronousMediaCodecAdapter.java:168) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:901) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:894) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:733) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:634) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.BaseRenderer.disable(BaseRenderer.java:197) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:1721) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1453) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1413) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:634) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:102) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:223) 05-06 18:22:53.521 32330 3007 E ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:67) 05-06 18:22:54.166 32330 2968 I ACodec : [OMX.MS.AVC.Decoder] forcing the release of codec

androidlukas commented 1 month ago

@ChetanPatelPlayBoxTV no, I have a lot crashed with this bug. @rohitjoins When will be fix?

XilinJia commented 1 month ago

@ChetanPatelPlayBoxTV I actually went over this issue. But to be honest, I don't remember where this came from and what I did to overcome it - there's simply too much stuff transitioning to media3 I admit. If you like to dig out what was done to it, you are welcome to check out my open-source project Podcini: https://github.com/XilinJia/Podcini

ChetanPatelPlayBoxTV commented 1 month ago

@XilinJia @androidlukas thanks for quick replay, but I got solution with hardware company, it's media codec issue.

rahulnainwalttn commented 1 month ago

@ChetanPatelPlayBoxTV Can you please share your solution? I am also having similar issue.

PythonVader commented 1 month ago

I am having this issue and sometimes (surprisingly) on some media items it triggers on others it don't event tho they are the same format (MP3). Trying the fallback method did not work! Any help would be appreciated.