diff --git a/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation_objc/FVPVideoPlayer.m b/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation_objc/FVPVideoPlayer.m index 04ce60e6a989..079069dfcc79 100644 --- a/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation_objc/FVPVideoPlayer.m +++ b/packages/video_player/video_player_avfoundation/darwin/video_player_avfoundation/Sources/video_player_avfoundation_objc/FVPVideoPlayer.m @@ -255,8 +255,10 @@ - (AVMutableVideoComposition *)videoCompositionWithTransform:(CGAffineTransform) videoComposition.renderSize = CGSizeMake(width, height); videoComposition.sourceTrackIDForFrameTiming = videoTrack.trackID; - if (CMTIME_IS_VALID(videoTrack.minFrameDuration)) { - videoComposition.frameDuration = videoTrack.minFrameDuration; + CMTime frameDuration = videoTrack.minFrameDuration; + if (CMTIME_IS_VALID(frameDuration) && frameDuration.timescale > 0 && + frameDuration.value > 0) { + videoComposition.frameDuration = frameDuration; } else { NSLog(@"Warning: videoTrack.minFrameDuration for input video is invalid, please report this to " @"https://github.com/flutter/flutter/issues with input video attached.");