jhomlala / betterplayer

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

Hsl video does not play on android ? #1130

Open harryandroiddev opened 1 year ago

harryandroiddev commented 1 year ago

on ios hsl video is playing fine , but on android it throws platform exception . And keeps loading .

cer-cer commented 1 year ago

what is the exception ?

Alii-isk commented 1 year ago

what exception ??

harryandroiddev commented 1 year ago

D/ViewRootImpl@fd14d67AudioServiceActivity: ViewPostIme pointer 0 D/ViewRootImpl@fd14d67AudioServiceActivity: ViewPostIme pointer 1 I/ExoPlayerImpl(21857): Init 3960f4 [ExoPlayerLib/2.18.1] [a5y17ltecan, SM-A520W, samsung, 26] V/Surface (21857): sf_framedrop debug : 0x4f4c, game : false, logging : 0 E/MethodChannel#better_player_channel(21857): Failed to handle method call E/MethodChannel#better_player_channel(21857): 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(21857): at com.google.android.exoplayer2.util.Assertions.checkNotNull(Assertions.java:174) E/MethodChannel#better_player_channel(21857): at com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory.setDrmSessionManagerProvider(HlsMediaSource.java:296) E/MethodChannel#better_player_channel(21857): at com.jhomlala.better_player.BetterPlayer.buildMediaSource(BetterPlayer.kt:424) E/MethodChannel#better_player_channel(21857): at com.jhomlala.better_player.BetterPlayer.setDataSource(BetterPlayer.kt:196) E/MethodChannel#better_player_channel(21857): at com.jhomlala.better_player.BetterPlayerPlugin.setDataSource(BetterPlayerPlugin.kt:277) E/MethodChannel#better_player_channel(21857): at com.jhomlala.better_player.BetterPlayerPlugin.onMethodCall(BetterPlayerPlugin.kt:151) E/MethodChannel#better_player_channel(21857): at com.jhomlala.better_player.BetterPlayerPlugin.onMethodCall(BetterPlayerPlugin.kt:138) E/MethodChannel#better_player_channel(21857): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262) E/MethodChannel#better_player_channel(21857): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) E/MethodChannel#better_player_channel(21857): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319) E/MethodChannel#better_player_channel(21857): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/MethodChannel#better_player_channel(21857): at android.os.Handler.handleCallback(Handler.java:789) E/MethodChannel#better_player_channel(21857): at android.os.Handler.dispatchMessage(Handler.java:98) E/MethodChannel#better_player_channel(21857): at android.os.Looper.loop(Looper.java:164) E/MethodChannel#better_player_channel(21857): at android.app.ActivityThread.main(ActivityThread.java:6944) E/MethodChannel#better_player_channel(21857): at java.lang.reflect.Method.invoke(Native Method) E/MethodChannel#better_player_channel(21857): at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) E/MethodChannel#better_player_channel(21857): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374) E/flutter (21857): [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 (21857): at com.google.android.exoplayer2.util.Assertions.checkNotNull(Assertions.java:174) E/flutter (21857): at com.google.android.exoplayer2.source.hls.HlsMediaSource$Factory.setDrmSessionManagerProvider(HlsMediaSource.java:296) E/flutter (21857): at com.jhomlala.better_player.BetterPlayer.buildMediaSource(BetterPlayer.kt:424) E/flutter (21857): at com.jhomlala.better_player.BetterPlayer.setDataSource(BetterPlayer.kt:196) E/flutter (21857): at com.jhomlala.better_player.BetterPlayerPlugin.setDataSource(BetterPlayerPlugin.kt:277) E/flutter (21857): at com.jhomlala.better_player.BetterPlayerPlugin.onMethodCall(BetterPlayerPlugin.kt:151) E/flutter (21857): at com.jhomlala.better_player.BetterPlayerPlugin.onMethodCall(BetterPlayerPlugin.kt:138) E/flutter (21857): at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262) E/flutter (21857): at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:295) E/flutter (21857): at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319) E/flutter (21857): at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12) E/flutter (21857): at android.os.Handler.handleCallback(Handler.java:789) E/flutter (21857): at android.os.Handler.dispatchMessage(Handler.java:98) E/flutter (21857): at android.os.Looper.loop(Looper.java:164) E/flutter (21857): at android.app.ActivityThread.main(ActivityThread.java:6944) E/flutter (21857): at java.lang.reflect.Method.invoke(Native Method) E/flutter (21857): at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327) E/flutter (21857): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374) E/flutter (21857): ) E/flutter (21857): #0 StandardMethodCodec.decodeEnvelope E/flutter (21857): #1 MethodChannel._invokeMethod E/flutter (21857): E/flutter (21857): #2 MethodChannelVideoPlayer.setDataSource E/flutter (21857): E/flutter (21857): #3 VideoPlayerController._setDataSource E/flutter (21857): E/flutter (21857): #4 BetterPlayerController._setupDataSource E/flutter (21857): E/flutter (21857): #5 BetterPlayerController.setupDataSource E/flutter (21857): E/flutter (21857):

giroprotagonist commented 1 year ago

Same issue, fixed by removing conflicting package videoplayer, less than optimal solution.