jhomlala / betterplayer

Better video player for Flutter, with multiple configuration options. Solving typical use cases!
Apache License 2.0
889 stars 931 forks source link

[Bug] 'Video can't be played' Cannot load multiple videos on one page #1008

Open marc-ver opened 2 years ago

marc-ver commented 2 years ago

Description of the bug When multiple videos are displayed on a page, the video players crash. After which they go to the error state and you only see 'video can't be played'

I'm getting the following error

I/ACodec  ( 5754): app-pid(5754)
I/ACodec  ( 5754): [OMX.qcom.video.decoder.avc] OMX_QCOM_FramePacking_OnlyOneCompleteFrame is setting
I/ACodec  ( 5754): Success to set FramePackingMode
E/ACodec  ( 5754): [OMX.qcom.video.decoder.avc] configureCodec returning error -12
E/ACodec  ( 5754): signalError(omxError 0x80001001, internalError -12)
E/MediaCodec( 5754): Codec reported err 0xfffffff4, actionCode 0, while in state 3
D/SurfaceUtils( 5754): disconnecting from surface 0xb4000070ef6819a0, reason disconnectFromSurface
W/MediaCodec( 5754): configure() failed to reclaimResource
E/MediaCodec( 5754): Codec reported err 0xffffec77, actionCode 0, while in state 0
W/MediaCodecRenderer( 5754): Failed to initialize decoder: OMX.qcom.video.decoder.avc
W/MediaCodecRenderer( 5754):   android.media.MediaCodec$CodecException: Error 0xfffffff4
W/MediaCodecRenderer( 5754):       at android.media.MediaCodec.native_configure(Native Method)
W/MediaCodecRenderer( 5754):       at android.media.MediaCodec.configure(MediaCodec.java:2127)
W/MediaCodecRenderer( 5754):       at android.media.MediaCodec.configure(MediaCodec.java:2043)
W/MediaCodecRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter$Factory.createAdapter(SynchronousMediaCodecAdapter.java:50)
W/MediaCodecRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1121)
W/MediaCodecRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1027)
W/MediaCodecRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:585)
W/MediaCodecRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1455)
W/MediaCodecRenderer( 5754):       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:713)
W/MediaCodecRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:981)
W/MediaCodecRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:810)
W/MediaCodecRenderer( 5754):       at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:978)
W/MediaCodecRenderer( 5754):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:482)
W/MediaCodecRenderer( 5754):       at android.os.Handler.dispatchMessage(Handler.java:102)
W/MediaCodecRenderer( 5754):       at android.os.Looper.loop(Looper.java:246)
W/MediaCodecRenderer( 5754):       at android.os.HandlerThread.run(HandlerThread.java:67)
E/MediaCodecVideoRenderer( 5754): Video codec error
E/MediaCodecVideoRenderer( 5754):   com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc, Format(1, null, null, video/avc, avc1.4D0029, -1, null, [608, 1080, 60.000004], [-1, -1])
E/MediaCodecVideoRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1034)
E/MediaCodecVideoRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:585)
E/MediaCodecVideoRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1455)
E/MediaCodecVideoRenderer( 5754):       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:713)
E/MediaCodecVideoRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:981)
E/MediaCodecVideoRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:810)
E/MediaCodecVideoRenderer( 5754):       at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:978)
E/MediaCodecVideoRenderer( 5754):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:482)
E/MediaCodecVideoRenderer( 5754):       at android.os.Handler.dispatchMessage(Handler.java:102)
E/MediaCodecVideoRenderer( 5754):       at android.os.Looper.loop(Looper.java:246)
E/MediaCodecVideoRenderer( 5754):       at android.os.HandlerThread.run(HandlerThread.java:67)
E/MediaCodecVideoRenderer( 5754):   Caused by: android.media.MediaCodec$CodecException: Error 0xfffffff4
E/MediaCodecVideoRenderer( 5754):       at android.media.MediaCodec.native_configure(Native Method)
E/MediaCodecVideoRenderer( 5754):       at android.media.MediaCodec.configure(MediaCodec.java:2127)
E/MediaCodecVideoRenderer( 5754):       at android.media.MediaCodec.configure(MediaCodec.java:2043)
E/MediaCodecVideoRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter$Factory.createAdapter(SynchronousMediaCodecAdapter.java:50)
E/MediaCodecVideoRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1121)
E/MediaCodecVideoRenderer( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1027)
E/MediaCodecVideoRenderer( 5754):       ... 10 more

D/MediaCodecInfo( 5754): NoSupport [codec.profileLevel, avc1.4D0029, video/avc] [OMX.SEC.avc.sw.dec, video/avc] [a70q, SM-A705FN, samsung, 30]
E/ExoPlayerImplInternal( 5754): Playback error
E/ExoPlayerImplInternal( 5754):   com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.4D0029, -1, null, [608, 1080, 60.000004], [-1, -1]), format_supported=YES
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:558)
E/ExoPlayerImplInternal( 5754):       at android.os.Handler.dispatchMessage(Handler.java:102)
E/ExoPlayerImplInternal( 5754):       at android.os.Looper.loop(Looper.java:246)
E/ExoPlayerImplInternal( 5754):       at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal( 5754):   Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc, Format(1, null, null, video/avc, avc1.4D0029, -1, null, [608, 1080, 60.000004], [-1, -1])
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1034)
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:585)
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1455)
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:713)
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:981)
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:810)
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:978)
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:482)
E/ExoPlayerImplInternal( 5754):       ... 3 more
E/ExoPlayerImplInternal( 5754):   Caused by: android.media.MediaCodec$CodecException: Error 0xfffffff4
E/ExoPlayerImplInternal( 5754):       at android.media.MediaCodec.native_configure(Native Method)
E/ExoPlayerImplInternal( 5754):       at android.media.MediaCodec.configure(MediaCodec.java:2127)
E/ExoPlayerImplInternal( 5754):       at android.media.MediaCodec.configure(MediaCodec.java:2043)
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter$Factory.createAdapter(SynchronousMediaCodecAdapter.java:50)
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1121)
E/ExoPlayerImplInternal( 5754):       at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1027)
E/ExoPlayerImplInternal( 5754):       ... 10 more
I/ACodec  ( 5754):  [OMX.qcom.video.decoder.avc] Now uninitialized
I/ACodec  ( 5754):  [] Now kWhatShutdownCompleted event : 8312
I/MediaCodec( 5754): Codec shutdown complete
E/flutter ( 5754): [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.4D0029, -1, null, [608, 1080, 60.000004], [-1, -1]), format_supported=YES, , null)
E/flutter ( 5754):

Flutter doctor

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.5, on macOS 12.3.1 21E258 darwin-x64, locale en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.62.3)
[✓] Connected device (2 available)
[✓] HTTP Host Availability

Better Player version

Test device:

yangyu92 commented 1 year ago

请问,有解决方案了吗?

akanxa commented 6 months ago

same issue any update?

kapil708 commented 2 months ago

Any update?

Zeeshan0201 commented 1 month ago

any update on this?