NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #196 most downloaded on pub.dev
iOS and macOS implementation of the video_player plugin.
Last release 1 months ago
04 Sep 2026
Release timing varies
gaps range from 8 days to 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
67 releases · first in 2022
usesExternalPlaybackWhileExternalScreenIsActive defaults to NO, so an AVPlayer keeps the picture on the device whenever an external screen is active.
usesExternalPlaybackWhileExternalScreenIsActive defaults to NO, so an AVPlayer keeps the picture on the device whenever an external screen is active. Selecting an AirPlay route therefore moved only the audio, while the receiver showed a mirrored copy of the screen rather than playing the stream itself.
allowsExternalPlayback already defaults to YES, so the two together were incoherent: external playback was permitted but never used. AVKit's own AVPlayerViewController routes to AirPlay out of the box; this brings the plugin in line with it.
Verified on an Apple TV from iOS 26.6.
Fixes: flutter/flutter#191227
Note: The Flutter team is currently trialing the use of Gemini Code Assist for GitHub. Comments from the gemini-code-assist bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed.
usesExternalPlaybackWhileExternalScreenIsActive on the AVPlayer. Selecting
an AirPlay route previously moved only the audio, leaving the video on the
device while the receiver showed a mirrored screen.One column per quarter.
Updates pigeon dev_dependency constraint to ^27.3.2 across first-party packages to ensure compatibility with analyzer: ^14.0.0 during pub downgrade re
Updates pigeon dev_dependency constraint to ^27.3.2 across first-party packages to ensure compatibility with analyzer: ^14.0.0 during pub downgrade resolution.
test dev_dependencies from plugin packages that already depend on flutter_test.pigeon constraint to ^27.3.2 across all 36 first-party plugin packages.in_app_purchase_storekit to rename SK2ProductMessage.description to localizedDescription for Swift Pigeon 27.0+ compatibility.CHANGELOG.md files.Implements setPreventsDisplaySleepDuringVideoPlayback using AVPlayer.preventsDisplaySleepDuringVideoPlayback.
setPreventsDisplaySleepDuringVideoPlayback using
AVPlayer.preventsDisplaySleepDuringVideoPlayback.Implements getVideoTracks() and selectVideoTrack() methods for video track (quality) selection using AVFoundation.
getVideoTracks() and selectVideoTrack() methods for video track (quality) selection using AVFoundation.Forces tone-mapping to SDR on iOS to prevent washed-out HDR video playback.
Adds a Swift version to fix a potential build issue when using CocoaPods.
Converts portions of the native code to Swift for improved maintainability.
Ensures that the display link does not continue requesting frames after a player is disposed.
Fixes a regression where HTTP headers were ignored.
Refactors for improved testability.
Refactors native code for improved testability.
Implements getAudioTracks() and selectAudioTrack() methods.
getAudioTracks() and selectAudioTrack() methods.Improves compatibility with UIScene.
UIScene.Resolve tracksWithMediaType: deprecations.
tracksWithMediaType: deprecations.loadTracksWithMediaType:completionHandler: for iOS 15.0+/macOS 12.0+.Refactors Dart internals for maintainability.
* Updates to Pigeon 26.
Fixes a bug where the video player fails to initialize when AVFoundation reports a duration of zero.
AVFoundation reports a duration of zero.VideoProgressIndicator widget in the example app to handle zero-duration videos.Updates minimum supported version to iOS 13 and macOS 10.15.
* Simplifies native code.
Removes calls to self from init and dealloc, for maintainability.
Restructure internals of Dart notification of video player events.
Restructures internal logic to move more code to Dart.
Adds platform view support for macOS.
Restructures the communication between Dart and native code.
Uses CADisplayLink on macOS 14.0+.
CADisplayLink on macOS 14.0+.Adds possibility to play videos at more than 30 FPS.
Adds support for platform views as an optional way of displaying a video.
Fixes playback speed resetting.
Fixes changing global audio session category to be collision free across plugins.
Bugfix to allow the audio-only HLS (.m3u8) on iOS.
Refactors native code structure.
Fixes VideoPlayerController.initialize() future never resolving with invalid video file.
Updates Pigeon for non-nullable collection type support.
Adds files to make include directory permanent.
Adds Swift Package Manager compatibility.
Adds frame availability checks on iOS.
* Adds privacy manifest.
Fixes display of initial frame when paused.
* Fixes new lint warnings.
Publishes an instance of the plugin to the registrar on macOS, as on iOS.
Fixes flickering and seek-while-paused on macOS.
* Updates to Pigeon 13.
* Adds support for macOS.
Changes Objective-C class prefixes to avoid future collisions.
Adds pub topics to package metadata.
Fixes the iOS crash when using multiple players on the same screen. See: https://github.com/flutter/flutter/issues/124937
Fixes missing isPlaybackLikelyToKeepUp check for iOS video player bufferingEnd event and bufferingStart event.
isPlaybackLikelyToKeepUp check for iOS video player bufferingEnd event and bufferingStart event.Updates minimum supported SDK version to Flutter 3.3/Dart 2.18.
Fixes hang when seeking to end of video.
Updates functions without a prototype to avoid deprecation warning.
Updates pigeon to fix warnings with clang 15.
Synchronizes VideoPlayerValue.isPlaying with AVPlayer.
VideoPlayerValue.isPlaying with AVPlayer.Makes seekTo async and only complete when AVPlayer.seekTo completes.
Clarifies explanation of endorsement in README.
Updates minimum Flutter version to 3.3 and iOS 11.
Updates links for the merge of flutter/plugins into flutter/packages.
Adds compatibilty with version 6.0 of the platform interface.
Fixes a bug where the aspect ratio of some HLS videos are incorrectly inverted.
no_leading_underscores_for_local_identifiers lint.Fixes a bug in iOS 16 where videos from protected live streams are not shown.
Updates references to the obsolete master branch.
Your coding agent can read these notes before it upgrades. Set up the MCP server →