androidx / media

Jetpack Media3 support libraries for media use cases, including ExoPlayer, an extensible media player for Android
https://developer.android.com/media/media3
Apache License 2.0
1.74k stars 416 forks source link

Getting MediaCodecVideoDecoderException: Decoder failed while starting content playback. #342

Closed khushank closed 11 months ago

khushank commented 1 year ago

Media3 Version

ExoPlayer 2.18.0

Devices that reproduce the issue

BRAVIA 4K GB ATV3 BRAVIA 4K VH2 BRAVIA 4K UR3 BRAVIA 4K GB

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Not tested

Reproduction steps

The issue is occurring for Sony Liv OTT App in India for Android TV devices. From our Analytics Dashboards we can see that in last 24 hours there has been around 5k Playback failures due to MediaCodecVideoDecoderException: Decoder failed: Exception.

Also we are not able to reproduce this with out test devices present in out lab for debugging. This issue is observed in ~3-5% of total devices in the market where app is installed by the users.

Requesting your analysis as we are getting many customer complaints due to this.

image

Expected result

Media content should play successfully.

Actual result

Playback Fails with Following Error stack trace

04-20 14:01:59.348   882  3729 E MediaCodecVideoRenderer: Video codec error
04-20 14:01:59.348   882  3729 E MediaCodecVideoRenderer:   android.media.MediaCodec$CodecException: Error 0x80001000
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal: Playback error
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:   com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(6, null, null, video/avc, avc1.640028, 4600360, null, [1920, 1080, 25.0], [-1, -1]), format_supported=YES
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:43)
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:       at android.os.Handler.dispatchMessage(Handler.java:102)
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:       at android.os.Looper.loop(Looper.java:223)
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:       at android.os.HandlerThread.run(HandlerThread.java:67)
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:   Caused by: com.google.android.exoplayer2.video.MediaCodecVideoDecoderException: Decoder failed: OMX.realtek.video.decoder
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1)
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:27)
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:14)
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:25)
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:       ... 3 more
04-20 14:01:59.351   882  3729 E ExoPlayerImplInternal:   Caused by: android.media.MediaCodec$CodecException: Error 0x80001000
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal: Disable failed.
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:   java.lang.IllegalStateException
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at android.media.MediaCodec.native_flush(Native Method)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at android.media.MediaCodec.flush(MediaCodec.java:2298)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.mediacodec.AsynchronousMediaCodecAdapter.flush(AsynchronousMediaCodecAdapter.java:2)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:1)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:7)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:5)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:5)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:7)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:4)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:7)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:54)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at android.os.Handler.dispatchMessage(Handler.java:102)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at android.os.Looper.loop(Looper.java:223)
04-20 14:01:59.352   882  3729 E ExoPlayerImplInternal:       at android.os.HandlerThread.run(HandlerThread.java:67)
04-20 14:01:59.355   882   882 E SCTE    : onLoadCanceled 1
04-20 14:01:59.365   882   882 E EventLogger: playerFailed [eventTime=0.96, mediaPos=0.00, window=0, period=0, errorCode=ERROR_CODE_DECODING_FAILED
04-20 14:01:59.365   882   882 E EventLogger:   com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(6, null, null, video/avc, avc1.640028, 4600360, null, [1920, 1080, 25.0], [-1, -1]), format_supported=YES
04-20 14:01:59.365   882   882 E EventLogger:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:43)
04-20 14:01:59.365   882   882 E EventLogger:       at android.os.Handler.dispatchMessage(Handler.java:102)
04-20 14:01:59.365   882   882 E EventLogger:       at android.os.Looper.loop(Looper.java:223)
04-20 14:01:59.365   882   882 E EventLogger:       at android.os.HandlerThread.run(HandlerThread.java:67)
04-20 14:01:59.365   882   882 E EventLogger:   Caused by: com.google.android.exoplayer2.video.MediaCodecVideoDecoderException: Decoder failed: OMX.realtek.video.decoder
04-20 14:01:59.365   882   882 E EventLogger:       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1)
04-20 14:01:59.365   882   882 E EventLogger:       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:27)
04-20 14:01:59.365   882   882 E EventLogger:       at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:14)
04-20 14:01:59.365   882   882 E EventLogger:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:25)
04-20 14:01:59.365   882   882 E EventLogger:       ... 3 more
04-20 14:01:59.365   882   882 E EventLogger:   Caused by: android.media.MediaCodec$CodecException: Error 0x80001000
04-20 14:01:59.365   882   882 E EventLogger: ]
04-20 14:01:59.367   882   882 E PlaybackController: PlayerLogs: Player Error has occurred, with isBehindLiveWindow = falseType = 1
04-20 14:01:59.367   882   882 E PlaybackController: com.logituit.logixsdk.logixplayer.LogixPlaybackException: Playback failed
04-20 14:01:59.367   882   882 E PlaybackController:    at d.n.a.b.e.f.onPlayerError(LogixPlayerImpl.java:14)
04-20 14:01:59.367   882   882 E PlaybackController:    at d.j.a.b.u0.invoke(lambda:2)
04-20 14:01:59.367   882   882 E PlaybackController:    at com.google.android.exoplayer2.util.ListenerSet$ListenerHolder.invoke(ListenerSet.java:4)
04-20 14:01:59.367   882   882 E PlaybackController:    at d.j.a.b.h3.a.run(lambda:2)
04-20 14:01:59.367   882   882 E PlaybackController:    at com.google.android.exoplayer2.util.ListenerSet.flushEvents(ListenerSet.java:8)
04-20 14:01:59.367   882   882 E PlaybackController:    at com.google.android.exoplayer2.ExoPlayerImpl.updatePlaybackInfo(ExoPlayerImpl.java:55)
04-20 14:01:59.367   882   882 E PlaybackController:    at com.google.android.exoplayer2.ExoPlayerImpl.handlePlaybackInfo(ExoPlayerImpl.java:24)
04-20 14:01:59.367   882   882 E PlaybackController:    at com.google.android.exoplayer2.ExoPlayerImpl.b(ExoPlayerImpl.java:1)
04-20 14:01:59.367   882   882 E PlaybackController:    at d.j.a.b.i1.run(Unknown Source:4)
04-20 14:01:59.367   882   882 E PlaybackController:    at android.os.Handler.handleCallback(Handler.java:938)
04-20 14:01:59.367   882   882 E PlaybackController:    at android.os.Handler.dispatchMessage(Handler.java:99)
04-20 14:01:59.367   882   882 E PlaybackController:    at android.os.Looper.loop(Looper.java:223)
04-20 14:01:59.367   882   882 E PlaybackController:    at android.app.ActivityThread.main(ActivityThread.java:7656)
04-20 14:01:59.367   882   882 E PlaybackController:    at java.lang.reflect.Method.invoke(Native Method)
04-20 14:01:59.367   882   882 E PlaybackController:    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
04-20 14:01:59.367   882   882 E PlaybackController:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
04-20 14:01:59.367   882   882 E PlaybackController: Caused by: com.google.android.exoplayer2.video.MediaCodecVideoDecoderException: Decoder failed: OMX.realtek.video.decoder
04-20 14:01:59.367   882   882 E PlaybackController:    at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1)
04-20 14:01:59.367   882   882 E PlaybackController:    at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:27)
04-20 14:01:59.367   882   882 E PlaybackController:    at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:14)
04-20 14:01:59.367   882   882 E PlaybackController:    at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:25)
04-20 14:01:59.367   882   882 E PlaybackController:    at android.os.Handler.dispatchMessage(Handler.java:102)
04-20 14:01:59.367   882   882 E PlaybackController:    at android.os.Looper.loop(Looper.java:223)
04-20 14:01:59.367   882   882 E PlaybackController:    at android.os.HandlerThread.run(HandlerThread.java:67)

Media

Will share the Media details via Email.

Bug Report

khushank commented 1 year ago

Attaching Logs from 2 different devices from the field. Bravia 4k VH2.txt Bravia 4k VU3.txt

christosts commented 1 year ago

Apologies for the long delay, is the issue still occurring?

google-oss-bot commented 1 year ago

Hey @khushank. We need more information to resolve this issue but there hasn't been an update in 14 weekdays. I'm marking the issue as stale and if there are no new updates in the next 7 days I will close it automatically.

If you have more information that will help us get to the bottom of this, just add a comment!

google-oss-bot commented 11 months ago

Since there haven't been any recent updates here, I am going to close this issue.

@khushank if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.

Vram028qa2288 commented 11 months ago

[]Alibaba1962561755 (2).png