jhomlala / betterplayer

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

Unhandled Exception: seen #1151

Closed pouyamaroufi closed 1 year ago

pouyamaroufi commented 1 year ago

E/flutter (19982): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: seen E/flutter (19982): #0 VideoService.episodeView package:tebyad/…/RestApi/video_service.dart:101 E/flutter (19982): E/flutter (19982): [GETX] CLOSE DIALOG 879196732 [GETX] GOING TO ROUTE /Widget I/ExoPlayerImpl(19982): Release 5ce6622 [ExoPlayerLib/2.18.1] [joyeuse, Redmi Note 9 Pro, Xiaomi, 30] [goog.exo.core, goog.exo.exoplayer, goog.exo.decoder] I/ExoPlayerImpl(19982): Init 668a31e [ExoPlayerLib/2.18.1] [joyeuse, Redmi Note 9 Pro, Xiaomi, 30] E/MethodChannel#better_player_channel(19982): Failed to handle method call E/MethodChannel#better_player_channel(19982): java.lang.NullPointerException: MediaSource.Factory#setDrmSessionManagerProvider no longer handles null by instantiating a new DefaultDrmSessionManagerProvider. Explicitly construct and pass an instance in order to retain the old behavior. E/MethodChannel#better_player_channel(19982): at com.google.android.exoplayer2.util.Assertions.checkNotNull(Assertions.java:174) E/MethodChannel#better_player_channel(19982): at com.google.android.exoplayer2.source.ProgressiveMediaSource$Factory.setDrmSessionManagerProvider(ProgressiveMediaSource.java:186) E/MethodChannel#better_player_channel(19982): at com.jhomlala.better_player.BetterPlayer.buildMediaSource(BetterPlayer.kt:430) E/MethodChannel#better_player_channel(19982): at com.jhomlala.better_player.BetterPlayer.setDataSource(BetterPlayer.kt:196) E/MethodChannel#better_player_channel(19982): at com.jhomlala.better_player.BetterPlayerPlugin.setDataSource(BetterPlayerPlugin.kt:277) E/MethodChannel#better_player_channel(19982): at com.jhomlala.better_player.BetterPlayerPlugin.onMethodCall(BetterPlayerPlugin.kt:151) E/MethodChannel#better_player_channel(19982): at com.jhomlala.better_player.BetterPlayerPlugin.onMethodCall(BetterPlayerPlugin.kt:138) E/MethodChannel#better_player_channel(19982): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262) E/MethodChannel#better_player_channel(19982): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) E/MethodChannel#better_player_channel(19982): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319) E/MethodChannel#better_player_channel(19982): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/MethodChannel#better_player_channel(19982): at android.os.Handler.handleCallback(Handler.java:938) E/MethodChannel#better_player_channel(19982): at android.os.Handler.dispatchMessage(Handler.java:99) E/MethodChannel#better_player_channel(19982): at android.os.Looper.loop(Looper.java:236) E/MethodChannel#better_player_channel(19982): at android.app.ActivityThread.main(ActivityThread.java:7861) E/MethodChannel#better_player_channel(19982): at java.lang.reflect.Method.invoke(Native Method) E/MethodChannel#better_player_channel(19982): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:600) E/MethodChannel#better_player_channel(19982): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967) E/flutter (19982): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(error, MediaSource.Factory#setDrmSessionManagerProvider no longer handles null by instantiating a new DefaultDrmSessionManagerProvider. Explicitly construct and pass an instance in order to retain the old behavior., null, java.lang.NullPointerException: MediaSource.Factory#setDrmSessionManagerProvider no longer handles null by instantiating a new DefaultDrmSessionManagerProvider. Explicitly construct and pass an instance in order to retain the old behavior. E/flutter (19982): at com.google.android.exoplayer2.util.Assertions.checkNotNull(Assertions.java:174) E/flutter (19982): at com.google.android.exoplayer2.source.ProgressiveMediaSource$Factory.setDrmSessionManagerProvider(ProgressiveMediaSource.java:186) E/flutter (19982): at com.jhomlala.better_player.BetterPlayer.buildMediaSource(BetterPlayer.kt:430) E/flutter (19982): at com.jhomlala.better_player.BetterPlayer.setDataSource(BetterPlayer.kt:196) E/flutter (19982): at com.jhomlala.better_player.BetterPlayerPlugin.setDataSource(BetterPlayerPlugin.kt:277) E/flutter (19982): at com.jhomlala.better_player.BetterPlayerPlugin.onMethodCall(BetterPlayerPlugin.kt:151) E/flutter (19982): at com.jhomlala.better_player.BetterPlayerPlugin.onMethodCall(BetterPlayerPlugin.kt:138) E/flutter (19982): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262) E/flutter (19982): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) E/flutter (19982): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319) E/flutter (19982): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/flutter (19982): at android.os.Handler.handleCallback(Handler.java:938) E/flutter (19982): at android.os.Handler.dispatchMessage(Handler.java:99) E/flutter (19982): at android.os.Looper.loop(Looper.java:236) E/flutter (19982): at android.app.ActivityThread.main(ActivityThread.java:7861) E/flutter (19982): at java.lang.reflect.Method.invoke(Native Method) E/flutter (19982): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:600) E/flutter (19982): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:967) E/flutter (19982): ) E/flutter (19982): #0 StandardMethodCodec.decodeEnvelope package:flutter/…/services/message_codecs.dart:653 E/flutter (19982): #1 MethodChannel._invokeMethod package:flutter/…/services/platform_channel.dart:296 E/flutter (19982): E/flutter (19982): #2 MethodChannelVideoPlayer.setDataSource package:better_player/…/video_player/method_channel_video_player.dart:118

Nisha-Rana-16 commented 1 year ago

Yes, getting the same issue

Sandeepfnaik commented 1 year ago

Same issue here.

callmejm commented 1 year ago

same issue here, is this library no longer manage ?

pouyamaroufi commented 1 year ago

same issue here, is this library no longer manage ?

what is your flutter version ? I think this package have issue with flutter 3.3.0 and above.

callmejm commented 1 year ago

I think someone have fix the issue https://github.com/jhomlala/betterplayer/pull/1085 , hope they able to merge on soon

Rince711 commented 1 year ago

Am also having the same issue.

Sandeepfnaik commented 1 year ago

Anybody found solution for this?

pouyamaroufi commented 1 year ago

Hello Everyone use this fork, it's totally fine

To use:

better_player:

   git:

         url: https://github.com/tintran-dev/betterplayer.git
Sandeepfnaik commented 1 year ago

@pouyamaroufi With the above mentioned changes earlier error is gone but it's still not playing the video and now showing new error.

/ExoPlayerImplInternal( 8418): com.google.android.exoplayer2.ExoPlaybackException: Source error E/ExoPlayerImplInternal( 8418): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:632) E/ExoPlayerImplInternal( 8418): at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:602) E/ExoPlayerImplInternal( 8418): at android.os.Handler.dispatchMessage(Handler.java:102) E/ExoPlayerImplInternal( 8418): at android.os.Looper.loop(Looper.java:223) E/ExoPlayerImplInternal( 8418): at android.os.HandlerThread.run(HandlerThread.java:67) E/ExoPlayerImplInternal( 8418): Caused by: com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (FlvExtractor, FlacExtractor, WavExtractor, FragmentedMp4Extractor, Mp4Extractor, AmrExtractor, PsExtractor, OggExtractor, TsExtractor, MatroskaExtractor, AdtsExtractor, Ac3Extractor, Ac4Extractor, Mp3Extractor, AviExtractor, JpegExtractor) could read the stream. E/ExoPlayerImplInternal( 8418): at com.google.android.exoplayer2.source.BundledExtractorsAdapter.init(BundledExtractorsAdapter.java:92) E/ExoPlayerImplInternal( 8418): at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1017) E/ExoPlayerImplInternal( 8418): at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412) E/ExoPlayerImplInternal( 8418): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) E/ExoPlayerImplInternal( 8418): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) E/ExoPlayerImplInternal( 8418): at java.lang.Thread.run(Thread.java:923) E/flutter ( 8418): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(VideoError, Video player had error com.google.android.exoplayer2.ExoPlaybackException: Source error, , null) E/flutter ( 8418):

Can you please help me in understanding what i may have done wrong?

JonasJW commented 1 year ago

@pouyamaroufi this PR seems to not work with .m3u8 format, I get this error

E/ExoPlayerImplInternal(25640): Playback error
E/ExoPlayerImplInternal(25640):   com.google.android.exoplayer2.ExoPlaybackException: Source error
E/ExoPlayerImplInternal(25640):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:644)
E/ExoPlayerImplInternal(25640):       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:614)
E/ExoPlayerImplInternal(25640):       at android.os.Handler.dispatchMessage(Handler.java:102)
E/ExoPlayerImplInternal(25640):       at android.os.Looper.loopOnce(Looper.java:201)
E/ExoPlayerImplInternal(25640):       at android.os.Looper.loop(Looper.java:288)
E/ExoPlayerImplInternal(25640):       at android.os.HandlerThread.run(HandlerThread.java:67)
E/ExoPlayerImplInternal(25640):   Caused by: com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (FlvExtractor, FlacExtractor, WavExtractor, FragmentedMp4Extractor, Mp4Extractor, AmrExtractor, PsExtractor, OggExtractor, TsExtractor, MatroskaExtractor, AdtsExtractor, Ac3Extractor, Ac4Extractor, Mp3Extractor, AviExtractor, JpegExtractor) could read the stream.
E/ExoPlayerImplInternal(25640):       at com.google.android.exoplayer2.source.BundledExtractorsAdapter.init(BundledExtractorsAdapter.java:92)
E/ExoPlayerImplInternal(25640):       at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1017)
E/ExoPlayerImplInternal(25640):       at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
E/ExoPlayerImplInternal(25640):       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/ExoPlayerImplInternal(25640):       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/ExoPlayerImplInternal(25640):       at java.lang.Thread.run(Thread.java:920)