From 912d4de09af4839e5bdf0e96cca9a57b9bda4bd0 Mon Sep 17 00:00:00 2001 From: Sebastian Roth Date: Tue, 30 Apr 2019 12:46:01 +0800 Subject: [PATCH 1/3] [video_player] Prevent Div/0 during network playback initialization. --- packages/video_player/ios/Classes/VideoPlayerPlugin.m | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/video_player/ios/Classes/VideoPlayerPlugin.m b/packages/video_player/ios/Classes/VideoPlayerPlugin.m index ded94ab499ea..399c91f61f37 100644 --- a/packages/video_player/ios/Classes/VideoPlayerPlugin.m +++ b/packages/video_player/ios/Classes/VideoPlayerPlugin.m @@ -304,6 +304,10 @@ - (void)sendInitialized { if (height == CGSizeZero.height && width == CGSizeZero.width) { return; } + // The player may be initialized but still needs to determine the duration. + if ([self duration] == 0) { + return; + } _isInitialized = true; _eventSink(@{ @@ -330,6 +334,8 @@ - (int64_t)position { } - (int64_t)duration { + NSLog(@"[_player currentItem] : %@", [_player currentItem]); + NSLog(@"[[_player currentItem] duration]: %llu", [[_player currentItem] duration].value); return FLTCMTimeToMillis([[_player currentItem] duration]); } From 43d5c7105cad91cb6972d57d9d69f2b051a07d9a Mon Sep 17 00:00:00 2001 From: Sebastian Roth Date: Tue, 30 Apr 2019 12:51:18 +0800 Subject: [PATCH 2/3] [video_player] Bump version to 0.10.1 --- packages/video_player/CHANGELOG.md | 4 ++++ packages/video_player/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/video_player/CHANGELOG.md b/packages/video_player/CHANGELOG.md index e3e9d9d01691..a95721f1f88c 100644 --- a/packages/video_player/CHANGELOG.md +++ b/packages/video_player/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.10.1 + +* iOS: Consider a player only `initialized` once duration is determined. + ## 0.10.0+8 * iOS: Fix an issue where the player sends initialization message incorrectly. diff --git a/packages/video_player/pubspec.yaml b/packages/video_player/pubspec.yaml index e469a120afa1..bb8edb5f8dfc 100644 --- a/packages/video_player/pubspec.yaml +++ b/packages/video_player/pubspec.yaml @@ -2,7 +2,7 @@ name: video_player description: Flutter plugin for displaying inline video with other Flutter widgets on Android and iOS. author: Flutter Team -version: 0.10.0+8 +version: 0.10.1 homepage: https://github.com/flutter/plugins/tree/master/packages/video_player flutter: From f6c2b2c42abbd8c00c38a0d6746d661b287b683d Mon Sep 17 00:00:00 2001 From: Sebastian Roth Date: Tue, 30 Apr 2019 12:54:40 +0800 Subject: [PATCH 3/3] Remove unused logs. --- packages/video_player/ios/Classes/VideoPlayerPlugin.m | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/video_player/ios/Classes/VideoPlayerPlugin.m b/packages/video_player/ios/Classes/VideoPlayerPlugin.m index 399c91f61f37..43586a0118dc 100644 --- a/packages/video_player/ios/Classes/VideoPlayerPlugin.m +++ b/packages/video_player/ios/Classes/VideoPlayerPlugin.m @@ -334,8 +334,6 @@ - (int64_t)position { } - (int64_t)duration { - NSLog(@"[_player currentItem] : %@", [_player currentItem]); - NSLog(@"[[_player currentItem] duration]: %llu", [[_player currentItem] duration].value); return FLTCMTimeToMillis([[_player currentItem] duration]); }