From 057a07de4b4b1f877a565456863261d39eaf07d9 Mon Sep 17 00:00:00 2001 From: Quentin Date: Tue, 8 May 2018 18:54:34 +0100 Subject: [PATCH 1/2] Fixed an issue with the video_player where a native IOS method call was not always returning a result. --- packages/video_player/ios/Classes/VideoPlayerPlugin.m | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/video_player/ios/Classes/VideoPlayerPlugin.m b/packages/video_player/ios/Classes/VideoPlayerPlugin.m index 1e432b343144..e21985bf7de8 100644 --- a/packages/video_player/ios/Classes/VideoPlayerPlugin.m +++ b/packages/video_player/ios/Classes/VideoPlayerPlugin.m @@ -290,6 +290,7 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { [[_players objectForKey:textureId] dispose]; } [_players removeAllObjects]; + result(nil); } else if ([@"create" isEqualToString:call.method]) { NSDictionary* argsMap = call.arguments; FLTFrameUpdater* frameUpdater = [[FLTFrameUpdater alloc] initWithRegistry:_registry]; @@ -327,6 +328,7 @@ - (void)handleMethodCall:(FlutterMethodCall*)call result:(FlutterResult)result { [_registry unregisterTexture:textureId]; [_players removeObjectForKey:@(textureId)]; [player dispose]; + result(nil); } else if ([@"setLooping" isEqualToString:call.method]) { [player setIsLooping:[[argsMap objectForKey:@"looping"] boolValue]]; result(nil); From f5a24bce54dc396fc7a58f7f14b8ee401ddd8181 Mon Sep 17 00:00:00 2001 From: Quentin Date: Tue, 8 May 2018 18:55:15 +0100 Subject: [PATCH 2/2] Fixed a crash when the eventSink is called on a null object in the video_player. --- .../io/flutter/plugins/videoplayer/VideoPlayerPlugin.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/video_player/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java b/packages/video_player/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java index 13576b2a972d..5aa904a6d189 100644 --- a/packages/video_player/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java +++ b/packages/video_player/android/src/main/java/io/flutter/plugins/videoplayer/VideoPlayerPlugin.java @@ -114,8 +114,10 @@ public void onBufferingUpdate(MediaPlayer mediaPlayer, int percent) { new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { - eventSink.error( - "VideoError", "Video player had error " + what + " extra " + extra, null); + if (eventSink != null) { + eventSink.error( + "VideoError", "Video player had error " + what + " extra " + extra, null); + } return true; } });