apivideo / api.video-flutter-player

The official Flutter player for api.video
https://api.video
MIT License
24 stars 4 forks source link

[Bug]: random crash when creating a new player #58

Open DhruvinUnikon opened 2 months ago

DhruvinUnikon commented 2 months ago

Version

1.2.1

Environment that reproduces the issue

Same as #56

Is it reproducible in the example application?

No

Reproduction steps

Expected result

Actual result

Additional context

On some random instance we are receiving this error and then player doesn't work at all it shows the blanks screen.


W/MediaSessionCompat( 5496): Couldn't find a unique registered media button receiver in the given context.
I/flutter ( 5496): ----------------FIREBASE CRASHLYTICS----------------
I/flutter ( 5496): PlatformException(failed_action, Failed to initialize a new player, java.lang.NullPointerException: Attempt to invoke interface method 'android.media.session.ISessionController android.media.session.ISession.getController()' on a null object reference
I/flutter ( 5496):  at android.media.session.MediaSession.<init>(MediaSession.java:207)
I/flutter ( 5496):  at android.support.v4.media.session.MediaSessionCompat$MediaSessionImplApi29.createFwkMediaSession(MediaSessionCompat.java:4666)
I/flutter ( 5496):  at android.support.v4.media.session.MediaSessionCompat$MediaSessionImplApi21.<init>(MediaSessionCompat.java:3944)
I/flutter ( 5496):  at android.support.v4.media.session.MediaSessionCompat$MediaSessionImplApi22.<init>(MediaSessionCompat.java:4614)
I/flutter ( 5496):  at android.support.v4.media.session.MediaSessionCompat$MediaSessionImplApi28.<init>(MediaSessionCompat.java:4631)
I/flutter ( 5496):  at android.support.v4.media.session.MediaSessionCompat$MediaSessionImplApi29.<init>(MediaSessionCompat.java:4656)
I/flutter ( 5496):  at android.support.v4.media.session.MediaSessionCompat.<init>(MediaSessionCompat.java:544)
I/flutter ( 5496):  at android.support.
I/flutter ( 5496): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:651:7)
I/flutter ( 5496): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:334:18)
I/flutter ( 5496): <asynchronous suspension>
I/flutter ( 5496): #2      MethodChannel.invokeMapMethod (package:flutter/src/services/platform_channel.dart:534:43)
I/flutter ( 5496): <asynchronous suspension>
I/flutter ( 5496): #3      ApiVideoMobilePlayer.initialize (package:apivideo_player/src/platform/apivideo_mobile_player_platform.dart:178:9)
I/flutter ( 5496): <asynchronous suspension>
I/flutter ( 5496): #4      ApiVideoPlayerController.initialize (package:apivideo_player/src/apivideo_player_controller.dart:168:18)
I/flutter ( 5496): <asynchronous suspension>
I/flutter ( 5496): #5      ApiVideoControllerWrapper.initialize (package:unikon/widget_library/api_video_player/api_video_controller_wrapper.dart/api_video_controller_wrapper.dart:159:5)
I/flutter ( 5496): <asynchronous suspension>
I/flutter ( 5496): ----------------------------------------------------

Relevant logs output

No response

ThibaultBee commented 2 months ago

Hi, Thanks again for reporting. It seems to be an internal exception in MediaSession. The reason might be because we are missing calls to MediaSession().release. (see https://stackoverflow.com/questions/67042854/attempt-to-invoke-interface-method-android-media-session-isessioncontroller-and)

I made a fix here: https://github.com/apivideo/api.video-android-player/commit/63cc92a886b30153be62142201bb3364f7e534ea

Could you tell me when your test are done? I will release a new version.

DhruvinUnikon commented 2 months ago

sure can you provide me branch? I can validate by referencing package into our application through that branch.

ThibaultBee commented 2 months ago

Most of the issue are in the dependencies so it is not on a Flutter branch yet.

ThibaultBee commented 1 month ago

I have made a fix in the main branch. Could you test it?