NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3537 most downloaded on pub.dev
A Flutter widget for playing videos from YouTube, Vimeo, assets, and network sources — fully customizable and easy to integrate.
Last release 4 days ago
02 Oct 2026
Release timing varies
gaps range from 8 days to 2 months
Most releases are documented
notes for 45 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
1 years old
173 releases · first in 2025
Fixed the issue where unlisted YouTube videos kept loading.
🛠 Fix
Fixed the issue where unlisted YouTube videos kept loading.
Nothing published for this version
Added new fitVideoToBounds parameter in PlayerUIVisibilityOptions to control whether the video fills the available area (default: true).
One column per month.
✨ New Features
fitVideoToBounds parameter in PlayerUIVisibilityOptions to control whether the video fills the available area (default: true).🛠 Fix
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Added scrubbing thumbnail preview in the video player UI.
✨ New Features
Added scrubbing thumbnail preview in the video player UI.
showScrubbingThumbnailPreview parameter in PlayerUIVisibilityOptions.true, ensuring the preview is shown unless explicitly turned off.Nothing published for this version
⬆️ Updates dependencies * Updated all dependencies.
⬆️ Updates dependencies
Nothing published for this version
⬆️ Updates dependencies · Improvement
⬆️ Updates dependencies · Improvement
⚡ Replaced `video_player` with `media_kit` · Faster playback
⚡ Replaced video_player with media_kit · Faster playback
video_player package with media_kit for native video playback.video_player issue of preloading the entire video (see flutter/flutter#126760).Fixed orientation and fullscreen exit issues on Android and iOS.
🛠 Fix
Fixed orientation and fullscreen exit issues on Android and iOS.
Fixed autoplay not working issue on Web.
🛠 Bug Fixes · Renaming · Code Refactor
🛠 Bug Fixes · Renaming · Code Refactor
options in OmniVideoPlayer has been renamed to configuration for clarity.⬆️ Updates dependencies
⬆️ Updates dependencies
Reduced reliance on external libraries (from 5 libraries for web view management) and refactored to use the new flutter_inappwebview dependency.
🛠 Refactor / Improvement
flutter_inappwebview dependency.Nothing published for this version
Enhanced accessibility throughout the OmniVideoPlayer.
✨ New Features
Enhanced accessibility throughout the OmniVideoPlayer.
VideoPlayerAccessibilityTheme parameter in OmniVideoPlayerThemeData, allowing developers to customize semantic labels and accessibility messages for all player controls and overlays.Nothing published for this version
Fixed YouTube WebView playback issue
🛠 Fix
Improved video startup performance for long videos on iOS.
Fixed issue with exiting fullscreen in release mode.
🛠 Fix
Fixed several minor issues in the player related to video controller management and playback of certain network sources.
🛠 Fix
refreshOnUrlReuse parameter, which is no longer valid and no longer used by the player.Added refreshOnUrlReuse parameter to VideoSourceConfiguration.network.
✨ New Features
Added refreshOnUrlReuse parameter to VideoSourceConfiguration.network.
true, the player will always create a new controller even if a controller for the same videoUrl already exists in cache.falseRemoved a package dependency to reduce overall bundle size.
🛠 Fix
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Added showBottomControlsBarOnPause parameter to PlayerUIVisibilityOptions.
✨ New Features
Added showBottomControlsBarOnPause parameter to PlayerUIVisibilityOptions.
true, the bottom control bar remains visible while the video is paused, providing easier access to playback controls during pause state.falseAdded alwaysShowBottomControlsBar parameter to PlayerUIVisibilityOptions.
✨ New Features
Added alwaysShowBottomControlsBar parameter to PlayerUIVisibilityOptions.
true, the bottom control bar is always visible, even when the video is paused or hasn't started yet.falseAdded a singleton VideoPlaybackControllerPool to reuse VideoPlaybackController instances.
🛠 Refactor / Improvement
Added a singleton VideoPlaybackControllerPool to reuse VideoPlaybackController instances.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Added automatic retry for VideoPlaybackController initialization.
🛠 Fix
Added automatic retry for VideoPlaybackController initialization.
OMX.qcom.video.decoder.avc (NO_MEMORY) crashes on some Android devices when switching videos rapidly.Nothing published for this version
Added keepAlive parameter to VideoSourceConfiguration.
✨ New Features
Added keepAlive parameter to VideoSourceConfiguration.
true, the video controller is not automatically disposed, allowing the video state to persist between rebuilds or navigation changes.falsedispose() manually, this may cause memory leaks or OutOfMemory errors.🛠 Fix
Fixed occasional OMX.qcom.video.decoder.avc (NO_MEMORY) crash on Android.
mixWithOthers to false in VideoPlaybackController to prevent hardware decoder conflicts when multiple players or audio sessions are active.Nothing published for this version
Nothing published for this version
Fixed ProgressBar crash in fullscreen.
🛠 Fix / UI
Fixed ProgressBar crash in fullscreen.
clamp arguments when video starts or panel layouts reduce available width.Nothing published for this version
Nothing published for this version
Removed unused parameters in VideoPlayerLabelTheme:
🧹 Removals
VideoPlayerLabelTheme:
openExternalLabelrefreshLabelFullscreen wrapper support via CustomPlayerWidgets.fullscreenWrapper.
✨ New Features
Fullscreen wrapper support via CustomPlayerWidgets.fullscreenWrapper.
Nothing published for this version
🛠 Fix * Dart formatter
🛠 Fix
Removed global playback control system (GlobalPlaybackControlSettings and GlobalPlaybackController usage). App initialization is now simplified — no B
💥 Breaking Changes
Removed global playback control system (GlobalPlaybackControlSettings and GlobalPlaybackController usage).
App initialization is now simplified — no BlocProvider needed.
Removed parameters from PlayerUIVisibilityOptions:
showRefreshButtonInErrorPlaceholder, showOpenExternallyInErrorPlaceholder.
VideoPlayerErrorPlaceholder simplified — now displays only the themed error icon and message.
If you want to keep using the previous version, you can pass it through CustomPlayerWidgets.errorPlaceholder.
The old implementation is available here: Old Video Player Error Placeholder.
synchronizeMuteAcrossPlayers moved to VideoSourceConfiguration.
➡️ For migration details, see MIGRATION_GUIDE.md
🧩 Package Simplification
flutter_bloc, android_intent_plus, url_launcher, built_collection.Device volume support via `volume_controller`.
✨ New Features
Device volume support via volume_controller.
BlocProvider<GlobalPlaybackController> is enough.🛠 Fix * Update exports
🛠 Fix
Fix issue with error into initializer
🛠 Fix
Add `showOpenExternallyInErrorPlaceholder` option to PlayerUIVisibilityOptions
✨ New Features
Add showOpenExternallyInErrorPlaceholder option to PlayerUIVisibilityOptions
true, displays a “Open Externally” button inside the error placeholder if video playback fails.true.Your coding agent can read these notes before it upgrades. Set up the MCP server →