[video_player_avfoundation] Fix playback speed doesn't get persisted on iOS after reinitializing with new VideoPlayerController #3515
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes the flutter/flutter#100351 by using the
playImmediately(atRate:)instead ofplay()because callingplay()has an effect of setting back therateto 1.0 which is unwanted in case ofVideoPlayerController's reinitialization.Using
playImmediately(atRate:)is safe even with slower internet connections because AVPlayer automatically compensates eventual lack of media in the buffer by simply behaving as if it has encountered a stall during playback.Considering that
updatePlayingState()function which, in turn, invokes theplayImmediately(atRate:), is only called when handling "pause" or "play" events or inAVPlayerItemStatusReadyToPlaystate, it's safe for user experience to use theplayImmediately(atRate:)instead ofplay().Pre-launch Checklist
dart format.)[shared_preferences]pubspec.yamlwith an appropriate new version according to the pub versioning philosophy, or this PR is exempt from version changes.CHANGELOG.mdto add a description of the change, following repository CHANGELOG style.///).If you need help, consider asking for advice on the #hackers-new channel on Discord.