Open knixer opened 3 years ago
Please provide a complete bug report captured with adb bugreport
shortly after reproducing the issue, as requested in the issue template. Thanks!
Hi, you can see the error in line 4 from the bug report I submitted.
Please provide a complete bug report captured with
adb bugreport
shortly after reproducing the issue, as requested in the issue template. Thanks!
If that's all Chewie is logging then I think you'll need to either:
It should also be noted that there's often useful context in bug reports aside from the line at which the error is logged, which is why we ask for a full bug report. Omitting information requested in the issue template makes it harder for us to help you.
Thanks, but I found some new debug information when the phone is directly attached to the computer:
W/MediaCodecRenderer( 958): Failed to initialize decoder: OMX.sprd.h264.decoder
W/MediaCodecRenderer( 958): android.media.MediaCodec$CodecException: Error 0xfffffc03
W/MediaCodecRenderer( 958): at android.media.MediaCodec.native_configure(Native Method)
W/MediaCodecRenderer( 958): at android.media.MediaCodec.configure(MediaCodec.java:577)
W/MediaCodecRenderer( 958): at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.configure(SynchronousMediaCodecAdapter.java:43)
W/MediaCodecRenderer( 958): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.configureCodec(MediaCodecVideoRenderer.java:580)
W/MediaCodecRenderer( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1143)
W/MediaCodecRenderer( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1040)
W/MediaCodecRenderer( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:604)
W/MediaCodecRenderer( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1470)
W/MediaCodecRenderer( 958): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:640)
W/MediaCodecRenderer( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:994)
W/MediaCodecRenderer( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:844)
W/MediaCodecRenderer( 958): at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:892)
W/MediaCodecRenderer( 958): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:467)
W/MediaCodecRenderer( 958): at android.os.Handler.dispatchMessage(Handler.java:98)
W/MediaCodecRenderer( 958): at android.os.Looper.loop(Looper.java:145)
W/MediaCodecRenderer( 958): at android.os.HandlerThread.run(HandlerThread.java:61)
E/ExoPlayerImplInternal( 958): Playback error
E/ExoPlayerImplInternal( 958): com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, null, -1, null, [1280, 720, 29.973475], [-1, -1]), format_supported=YES
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:542)
E/ExoPlayerImplInternal( 958): at android.os.Handler.dispatchMessage(Handler.java:98)
E/ExoPlayerImplInternal( 958): at android.os.Looper.loop(Looper.java:145)
E/ExoPlayerImplInternal( 958): at android.os.HandlerThread.run(HandlerThread.java:61)
E/ExoPlayerImplInternal( 958): Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.sprd.h264.decoder, Format(1, null, null, video/avc, null, -1, null, [1280, 720, 29.973475], [-1, -1])
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1047)
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:604)
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1470)
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:640)
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:994)
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:844)
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:892)
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:467)
E/ExoPlayerImplInternal( 958): ... 3 more
E/ExoPlayerImplInternal( 958): Caused by: android.media.MediaCodec$CodecException: Error 0xfffffc03
E/ExoPlayerImplInternal( 958): at android.media.MediaCodec.native_configure(Native Method)
E/ExoPlayerImplInternal( 958): at android.media.MediaCodec.configure(MediaCodec.java:577)
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.configure(SynchronousMediaCodecAdapter.java:43)
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.configureCodec(MediaCodecVideoRenderer.java:580)
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1143)
E/ExoPlayerImplInternal( 958): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1040)
E/ExoPlayerImplInternal( 958): ... 10 more
Is this information helpful?
If that's all Chewie is logging then I think you'll need to either:
- Report the issue to whoever maintains Chewie, since they're not logging sufficient information for us to diagnose what happened (e.g., the full stack trace of the error). It's likely you'll need to ask them to turn on some more detailed logging.
- Reproduce the issue using our demo app, which will log more useful diagnostic information.
It should also be noted that there's often useful context in bug reports aside from the line at which the error is logged, which is why we ask for a full bug report. Omitting information requested in the issue template makes it harder for us to help you.
I am also seeing similar error in a production Flutter app that uses the video_player
package (the chewie
flutter package uses video_player
as well).
I see a number of crashes in Crashlytics, almost always Samsung devices like Samsung A11.
Unfortunately Flutter itself (or Crashlytics in Flutter) doesn't seem to capture much additional info, it sends me this:
Non-fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.4D401F, -1, null, [720, 480, 25.0], [-1, -1]), format_supported=YES, null, null). Error thrown null.
at .()
The Flutter video_player
package is using a recent, but not latest version of ExoPlayer, v2.12.1
:
https://github.com/flutter/plugins/blob/2068cce1d06c7cbbc6e241f83af24e67dc72863d/packages/video_player/video_player/android/build.gradle#L47
The same issue here... using flutter
I am also getting this error. I use fire store videos to play in my application. Some of the videos playing fine and some are getting this error. Any Idea about how to fix this error?
I was able to fix my error. It was kind of strange but make sense. In my application, I am developing a video application like TikTok and lots of videos are playing and loading. Currently, my testing app has 33 videos and it starts to show this error. I just limit the video limit to 10 and everything works fine. Since my application is mainly videos, once I got the videos from firestore, I initialized the video players but not playing. Depend on the user scroll I play the videos and pause others. I think may be too much load for the app. But I check the performance graphs and memory usage is around 100MB. Hope this help someone. Cheers
I'm seeing the same. Also Flutter (2.0.6) and with video_player 2.1.1. On a Samsung tablet. The video is scaled and at the edge of the screen. The same video with a different scale and position on the screen plays fine.
For me, upgrading the OS fixed my issue:
Broken on Samsung Galaxy Tab A7 One UI Core 2.5 Android 10 Kernel 4.19.95-perf-20288130 Build QP1A.190711.020.T505XXS2ATL1 Patch: 1 Dec 2020
Fixed in Samsung Galaxy Tab A7 One UI Core 3.1 Android 11 Kernel 4.19.152-perf-21303446 Build RP1A.200720.012.T505XXU3BUD7 Patch: 1 Mar 2021
I had a similar issue on Native development (Kotlin, not Flutter).
For some reasons, calling videoView.player?.release()
before initializing videoView.player = SimpleExoPlayer.Builder(context).build()
fixed the issue (despite releasing resources in the onDestroy
and onDestroyView
of the Activity and Fragment respectively.
The implementation seems to check if a player
exists and release the resources before re-initializing it at the point of playing a video.
I have similar issue with samsung A50
Anyone who have managed to resolve this issue?
As above, for me, upgrading the OS fixed the issue.
Which OS?
Which OS?
@MoffatMore https://github.com/google/ExoPlayer/issues/8473#issuecomment-843117069
Alright thanks ill consider upgrading OS
I also had similar issue on android using Flutter and video_player
.
I solved it by calling _controller.dispose()
every time after the work was done.
I also had similar issue on android using Flutter and
video_player
. I solved it by calling_controller.dispose()
every time after the work was done.
After what work has been done?
I also had similar issue on android using Flutter and
video_player
. I solved it by calling_controller.dispose()
every time after the work was done.After what work has been done?
After am done using videoplayer, for example going to other page, user stops playing, starting some other process. Basically free up the memory!
This link might be useful, best of luck guys
https://stackoverflow.com/questions/58955831/flutter-video-player-dispose
Any fixes for flutter? still not able to find a fix
Getting the same issue in react-native also
E/ExoPlayerImplInternal: Renderer error: index=0, type=video, format=Format(2, null, null, video/avc, null, -1, null, [4096, 2130, 24.999998], [-1, -1]), rendererSupport=NO_EXCEEDS_CAPABILITIES
com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.Exynos.avc.dec, Format(2, null, null, video/avc, null, -1, null, [4096, 2130, 24.999998], [-1, -1])
at com.google.android.exoplayer2.BaseRenderer.createRendererException(BaseRenderer.java:359)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:563)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1254)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:756)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:814)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:712)
at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:599)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:329)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:246)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.Exynos.avc.dec, Format(2, null, null, video/avc, null, -1, null, [4096, 2130, 24.999998], [-1, -1])
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:867)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:561)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1254)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:756)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:814)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:712)
at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:599)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:329)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:246)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: android.media.MediaCodec$CodecException: Error 0xffffec77
at android.media.MediaCodec.native_configure(Native Method)
at android.media.MediaCodec.configure(MediaCodec.java:2127)
at android.media.MediaCodec.configure(MediaCodec.java:2043)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.configureCodec(MediaCodecVideoRenderer.java:689)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:928)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:860)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:561)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1254)
at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:756)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:814)
at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:712)
at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:599)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:329)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:246)
at android.os.HandlerThread.run(HandlerThread.java:67)
2021-08-17 19:54:09.849 17604-17604/com.edfora.video.classes E/ExoPlayer Exception: com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.Exynos.avc.dec, Format(2, null, null, video/avc, null, -1, null, [4096, 2130, 24.999998], [-1, -1])
Same error here
E/ExoPlayerImplInternal(17215): Playback error
E/ExoPlayerImplInternal(17215): com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.640028, -1, null, [1920, 1080, 29.253054], [-1, -1]), format_supported=YES
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:555)
E/ExoPlayerImplInternal(17215): at android.os.Handler.dispatchMessage(Handler.java:103)
E/ExoPlayerImplInternal(17215): at android.os.Looper.loop(Looper.java:224)
E/ExoPlayerImplInternal(17215): at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(17215): Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.qcom.video.decoder.avc, Format(1, null, null, video/avc, avc1.640028, -1, null, [1920, 1080, 29.253054], [-1, -1])
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1051)
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:606)
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1465)
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:713)
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:998)
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:830)
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:945)
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:478)
E/ExoPlayerImplInternal(17215): ... 3 more
E/ExoPlayerImplInternal(17215): Caused by: android.media.MediaCodec$CodecException: Error 0xfffffff4
E/ExoPlayerImplInternal(17215): at android.media.MediaCodec.native_configure(Native Method)
E/ExoPlayerImplInternal(17215): at android.media.MediaCodec.configure(MediaCodec.java:2023)
E/ExoPlayerImplInternal(17215): at android.media.MediaCodec.configure(MediaCodec.java:1951)
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter$Factory.createAdapter(SynchronousMediaCodecAdapter.java:50)
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1137)
E/ExoPlayerImplInternal(17215): at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1044)
E/ExoPlayerImplInternal(17215): ... 10 more
I'm using Exoplayer and PlayerView and sometimes the video does not load and I get this error. I'm sharing this so it might be helpful in debugging. I'm also caching the videos.
Exoplayer version: 2.14 Device: Huawei Honor 7C OS: Android 8.0.0 CPU: Qualcomm Snapdragon 450 Video is loading from the server
Here is the complete stacktrace:
15:58:12.821 24658-25268/com.drudotstech.petsjoinapp E/MediaCodecVideoRenderer: Video codec error java.lang.IllegalStateException at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method) at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2642) at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.dequeueOutputBufferIndex(SynchronousMediaCodecAdapter.java:100) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1842) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:843) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:945) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:478) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:166) at android.os.HandlerThread.run(HandlerThread.java:65) 2021-08-26 15:58:12.827 24658-25268/com.drudotstech.petsjoinapp E/ExoPlayerImplInternal: Playback error com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.428020, -1, null, [1080, 1080, 25.0], [-1, -1]), format_supported=YES at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:555) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:166) at android.os.HandlerThread.run(HandlerThread.java:65) Caused by: com.google.android.exoplayer2.video.MediaCodecVideoDecoderException: Decoder failed: OMX.qcom.video.decoder.avc at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.createDecoderException(MediaCodecVideoRenderer.java:1410) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:864) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:945) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:478) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:166) at android.os.HandlerThread.run(HandlerThread.java:65) Caused by: java.lang.IllegalStateException at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method) at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2642) at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.dequeueOutputBufferIndex(SynchronousMediaCodecAdapter.java:100) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1842) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:843) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:945) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:478) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:166) at android.os.HandlerThread.run(HandlerThread.java:65) 2021-08-26 15:58:12.833 24658-25268/com.drudotstech.petsjoinapp E/ExoPlayerImplInternal: Disable failed. java.lang.IllegalStateException at android.media.MediaCodec.native_flush(Native Method) at android.media.MediaCodec.flush(MediaCodec.java:2126) at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.flush(SynchronousMediaCodecAdapter.java:160) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:912) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:905) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:761) at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:483) at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:176) at com.google.android.exoplayer2.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:1609) at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1351) at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1314) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:571) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:166) at android.os.HandlerThread.run(HandlerThread.java:65)
If you use video_player, for each video you should to use: _controller.dispose(); This fix for me.
i just handle _controller.dispose(); before super.onDispose(); then add
in android manifest.
if its not you want, just add uniqueKey for videoPlayer
i mean add this in your manifest uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
any fix here, i am also facing same problem if i want to run more than 4 videos in PageViewBuilder
W/MediaCodecRenderer(18803): Failed to initialize decoder: OMX.Exynos.avc.dec
W/MediaCodecRenderer(18803): android.media.MediaCodec$CodecException: Failed to initialize OMX.Exynos.avc.dec, error 0xfffffff4
W/MediaCodecRenderer(18803): at android.media.MediaCodec.native_setup(Native Method)
W/MediaCodecRenderer(18803): at android.media.MediaCodec.
This issue has reappeared in Android 12.
PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.64001F, -1, null, [1280, 720, 29.973475], [-1, -1]), format_supported=YES, null, null)
A minimal reproducible flutter testcase is provided in https://github.com/flutter/flutter/issues/98035
@ojw28 When are you going to give a solution for this?
Same issue :C
same issue
same issue
I also had similar issue on android using Flutter and
video_player
. I solved it by calling_controller.dispose()
every time after the work was done.
Works!
Same issue on Android 11.
I also had similar issue on android using Flutter and
video_player
. I solved it by calling_controller.dispose()
every time after the work was done.Works!
This does not work if you need to store more than a single controller in the app (for buffering next videos etc.)
Same issue on Android 11.
I also had similar issue on android using Flutter and
video_player
. I solved it by calling_controller.dispose()
every time after the work was done.Works!
This does not work if you need to store more than a single controller in the app (for buffering next videos etc.)
Exactly. And this is a common use case, for instance:
Same issue on Android 11.
I also had similar issue on android using Flutter and
video_player
. I solved it by calling_controller.dispose()
every time after the work was done.Works!
This does not work if you need to store more than a single controller in the app (for buffering next videos etc.)
have you solve this?
Same issue on Android 11.
I also had similar issue on android using Flutter and
video_player
. I solved it by calling_controller.dispose()
every time after the work was done.Works!
This does not work if you need to store more than a single controller in the app (for buffering next videos etc.)
Exactly. And this is a common use case, for instance:
- page view of several videos
- video feed
have you solve this?
Still not working in Snapdragon processor
Tested on 8G1(S22 Ultra) and 865(One Plus)
I've realised that this error only comes when you use IP path instead of domain path to play the videos.
For everyone looking for a workaround check: https://github.com/flutter/flutter/issues/25558#issuecomment-1436378745
I know this is pretty late, but to anyone who is still struggling in 2023 because of this disastrous bug, calling the following code can help you get rid of it when you are changing your video (loading next or previous video)
`
Future <void> onControllerChange () async {
if (_videoPlayerController == null) { //if current controller is null
initializeController(); //method to initialize your video controller
} else {
final oldController = _videoPlayerController;
await oldController.dispose();
initializeController();
}
}`
Obteniendo el mismo problema en react-native también
E/ExoPlayerImplInternal: Renderer error: index=0, type=video, format=Format(2, null, null, video/avc, null, -1, null, [4096, 2130, 24.999998], [-1, -1]), rendererSupport=NO_EXCEEDS_CAPABILITIES com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.Exynos.avc.dec, Format(2, null, null, video/avc, null, -1, null, [4096, 2130, 24.999998], [-1, -1]) at com.google.android.exoplayer2.BaseRenderer.createRendererException(BaseRenderer.java:359) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:563) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1254) at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:756) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:814) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:712) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:599) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:329) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:246) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.Exynos.avc.dec, Format(2, null, null, video/avc, null, -1, null, [4096, 2130, 24.999998], [-1, -1]) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:867) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:561) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1254) at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:756) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:814) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:712) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:599) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:329) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:246) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: android.media.MediaCodec$CodecException: Error 0xffffec77 at android.media.MediaCodec.native_configure(Native Method) at android.media.MediaCodec.configure(MediaCodec.java:2127) at android.media.MediaCodec.configure(MediaCodec.java:2043) at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.configureCodec(MediaCodecVideoRenderer.java:689) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:928) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:860) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.maybeInitCodec(MediaCodecRenderer.java:561) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1254) at com.google.android.exoplayer2.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:756) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.readToFlagsOnlyBuffer(MediaCodecRenderer.java:814) at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:712) at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:599) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:329) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:246) at android.os.HandlerThread.run(HandlerThread.java:67) 2021-08-17 19:54:09.849 17604-17604/com.edfora.video.classes E/ExoPlayer Exception: com.google.android.exoplayer2.ExoPlaybackException: com.google.android.exoplayer2.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.Exynos.avc.dec, Format(2, null, null, video/avc, null, -1, null, [4096, 2130, 24.999998], [-1, -1])
you could resolve this?
Same issue on Android 11.
I also had similar issue on android using Flutter and
video_player
. I solved it by calling_controller.dispose()
every time after the work was done.Works!
This does not work if you need to store more than a single controller in the app (for buffering next videos etc.)
I'm also preloading videos for buffering and facing the same issue. Video player works fine on emulator (Pixel 5 Android 12 API level 32), but results into these weird exo player errors as I play videos on an actual device (Android 10)
I am also seeing similar error in a production Flutter app that uses the
video_player
package (thechewie
flutter package usesvideo_player
as well).I see a number of crashes in Crashlytics, almost always Samsung devices like Samsung A11.
Unfortunately Flutter itself (or Crashlytics in Flutter) doesn't seem to capture much additional info, it sends me this:
Non-fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.4D401F, -1, null, [720, 480, 25.0], [-1, -1]), format_supported=YES, null, null). Error thrown null. at .()
The Flutter
video_player
package is using a recent, but not latest version of ExoPlayer,v2.12.1
: https://github.com/flutter/plugins/blob/2068cce1d06c7cbbc6e241f83af24e67dc72863d/packages/video_player/video_player/android/build.gradle#L47
As of June 2023, Flutter's current video player version (2.6.1) is using the 2.18.7 version of exo player which happens to be the latest, but I am facing the same issue. I am preloading the videos and they work OK on emulator (Android Pixel 5 API level 32) but results in above error on the physical device (Android 10)
any news
Same issue on Android 11.
I also had similar issue on android using Flutter and
video_player
. I solved it by calling_controller.dispose()
every time after the work was done.Works!
This does not work if you need to store more than a single controller in the app (for buffering next videos etc.)
Exactly. And this is a common use case, for instance:
- page view of several videos
- video feed
It is working fine for me on IOS but it is not working in andorid,
any news? on this open issue ?
For everyone looking for a workaround check: flutter/flutter#25558 (comment)
Still not working 😭😭
The error message comes up sometimes when I try to access a video displayed in my Flutter application. I am using Chewie (https://pub.dev/packages/chewie) when rendering my videos. The video is an mp4 file and works most of the time.
Full error message:
Video player had error com.google.android.exoplayer2.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, null, -1, null, [1280, 720, 29.973475], [-1, -1]), format_supported=YES
It is not evident to me how the problem can be reproduced because it happens arbitrarily.
I don't know the ExoPlayer version number. But I downloaded Chewie and video_player yesterday so I should have the latest. If I can find the version number in the bug report let me know. The expected behavior is no error message and a working video Device: Samsung SM-J105H Android version 5.1.1
Here is info from the bugReport. I do not know what information is of use...