diff --git a/packages/video_player/video_player_avfoundation/CHANGELOG.md b/packages/video_player/video_player_avfoundation/CHANGELOG.md index 4ea05f7f1a9e..4f162952da76 100644 --- a/packages/video_player/video_player_avfoundation/CHANGELOG.md +++ b/packages/video_player/video_player_avfoundation/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.6.2 + +* Fixes the iOS/macOS crash when set negative video composition. + ## 2.6.1 * Adds files to make include directory permanent. diff --git a/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation/FVPVideoPlayerPlugin.m b/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation/FVPVideoPlayerPlugin.m index 14ee7ccefde2..d408251c595c 100644 --- a/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation/FVPVideoPlayerPlugin.m +++ b/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation/FVPVideoPlayerPlugin.m @@ -291,7 +291,14 @@ - (instancetype)initWithPlayerItem:(AVPlayerItem *)item [self getVideoCompositionWithTransform:self->_preferredTransform withAsset:asset withVideoTrack:videoTrack]; - item.videoComposition = videoComposition; + // Invalid values of video composition will throws an exception + // (https://github.com/flutter/flutter/issues/151031). + // When there is a problem with the parameters of video composition, set nil. + @try { + item.videoComposition = videoComposition; + } @catch (NSException *exception) { + item.videoComposition = nil; + } } }; [videoTrack loadValuesAsynchronouslyForKeys:@[ @"preferredTransform" ] diff --git a/packages/video_player/video_player_avfoundation/pubspec.yaml b/packages/video_player/video_player_avfoundation/pubspec.yaml index 674684ee789d..5fbf5aa50ef1 100644 --- a/packages/video_player/video_player_avfoundation/pubspec.yaml +++ b/packages/video_player/video_player_avfoundation/pubspec.yaml @@ -2,7 +2,7 @@ name: video_player_avfoundation description: iOS and macOS implementation of the video_player plugin. repository: https://github.com/flutter/packages/tree/main/packages/video_player/video_player_avfoundation issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+video_player%22 -version: 2.6.1 +version: 2.6.2 environment: sdk: ^3.2.3