PackageTrack
Sign in Get early access

omni_video_player

A Flutter widget for playing videos from YouTube, Vimeo, assets, and network sources — fully customizable and easy to integrate.

5.0.1 4.1K downloads/mo #4142 most downloaded on pub.dev leonardmatasel/omni_video_player

What this package is like to depend on

Last release 5 days ago

19 Aug 2026

Release timing varies

gaps range from 8 days to 2 months

Most releases are documented

notes for 113 of 153 stable releases

Nothing withdrawn

no release was ever pulled

1 years old

161 releases · first in 2025

138 releases in the last 12 months

see the full history below

Release timeline

161 releases · Jun 2025 to Aug 2026
2026
Release Pre-release

Releases

latest 60 of 161
  1. 5.0.1 19 Aug 2026
    Release notes

    🧹 Static analysis

    • Removed an unused catch stack-trace variable so the package passes pub.dev static analysis cleanly.
    Open source →
  2. 5.0.0 10 Aug 2026
    Release notes

    🎛️ YouTube WebView controls — grouped config (BREAKING)

    • YouTube WebView flags moved into VideoSourceConfiguration.youtube(webView: YoutubeWebViewConfiguration(...)):
      • forceWebViewOnly (was forceYoutubeWebViewOnly), enableFallback (was enableYoutubeWebViewFallback).
      • useNativeControls (new, default true): use YouTube's native play/pause + double-tap (our bottom bar stays overlaid). Set false for the previous fully-custom controls.
      • onExternalLink: react to in-player links (Watch on YouTube, title, …) — they're always blocked.

    Migration: move forceYoutubeWebViewOnly/enableYoutubeWebViewFallback into webView:; set useNativeControls: false to keep the old custom controls.

    🐛 Bug Fixes — playback reliability (#82, #78)

    • Videos now resume correctly after seeking, instead of stalling or getting stuck on an error (#82).
    • YouTube and Vimeo recover on their own from the random "sometimes it plays, sometimes it doesn't" failures — no more restarting the app (#78).
    • Smoother playback, faster loading, and less memory use when videos scroll off screen.
    • YouTube in WebView now loads reliably, no longer pauses itself on the first play, and captions stay off.
    • WebM videos now show the correct duration and progress bar (no more stuck at 00:00 or a permanent replay button).
    • Playlists in fullscreen: fixed the freeze/black screen and the flickering next/previous buttons when changing video.
    • Fullscreen controls now respect the notch / safe area.
    • Text selection inside the video players is disabled.
    Open source →
  3. 4.0.2 16 Jun 2026
    Release notes

    🐛 Bug Fixes — fullscreen orientation (#75)

    • Leaving fullscreen no longer forces all orientations, which previously overrode an app-wide lock such as SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]).
    • Added PlayerUIVisibilityOptions.restoreOrientationsAfterFullscreen: set it to your app's orientations (e.g. [DeviceOrientation.portraitUp]) and they are reapplied automatically when the player exits fullscreen.
    • Default is null, which keeps the previous behavior (restore all orientations) — non-breaking.
    Open source →
  4. 4.0.1 16 Jun 2026
    Release notes

    🐛 Bug Fixes — kids/restricted YouTube playback

    • When the androidVr manifest fails (kids/restricted videos), fall back to the default InnerTube clients and keep muxed streams only (~360p), avoiding the HTTP 403 that adaptive video+audio streams return in ExoPlayer for these videos.
    • Skip the "no audio streams" error when the selected muxed stream already includes mp4a audio.
    • Transient/network failures on the androidVr manifest are no longer treated as restricted: they are retried instead of triggering the mux-only fallback, so normal videos are never silently downgraded to 360p on a single network blip.
    • Normal videos are unchanged: androidVr manifest with the existing Android/iOS stream selection (720p+ on Android).
    Open source →
  5. 4.0.0 16 Jun 2026
    Release notes

    🎬 Playlist

    • New OmniVideoPlaylist widget with OmniPlaylistController, PlaylistConfiguration, and PlaylistCallbacks.
    • Plays an ordered queue of videos with on-video previous/next buttons. Optional autoAdvance (advance automatically when a video finishes) and loop (wrap around the ends).
    • Purely additive to single-video behaviour. Also adds value equality to VideoSourceConfiguration.

    🎨 Theming (breaking)

    • BREAKING: Renamed VideoPlayerColorScheme.playPauseBackgroundcontrolButtonBackground and playPauseIconcontrolButtonIcon. These colors are shared by the play/pause, replay, loader and skip-indicator buttons, and now the playlist prev/next buttons too. Migration: rename these parameters in your VideoPlayerColorScheme(...) / .copyWith(...) calls.
    • Playlist prev/next buttons are fully themeable, consistent with the other control buttons: colors (controlButtonBackground/controlButtonIcon), icons (VideoPlayerIconTheme.skipPrevious/skipNext), and accessibility labels (VideoPlayerAccessibilityTheme.previousTrackLabel/nextTrackLabel).
    Open source →
  6. 4.0.0-beta 10 Dec 2025 pre-release

    Nothing published for this version

  7. 3.9.4 10 Apr 2026
    Release notes

    Stability & Bug Fixes

    • Safe Disposal Handling:
      • Added comprehensive isDisposed guards to all controller setters (volume, duration, playing, etc.) to prevent "ChangeNotifier used after being disposed" crashes during global resource cleanup.
      • Improved GlobalVolumeSynchronizer to safely ignore disposed controllers during global volume updates.
      • Added safety checks for JavaScript evaluation in WebView-based controllers after disposal.
    Open source →
  8. 3.9.3 10 Apr 2026
    Release notes

    New Features & Bug Fixes

    • Improved Resource Management:
      • Added isDisposed check to all controllers to prevent ChangeNotifier errors after disposal.
      • Enhanced OmniVideoPlayerView to safely handle controller disposal and listener removal.
    • Auto-Reinitialization:
      • Added VisibilityDetector to OmniVideoPlayerInitializer to automatically re-initialize players that were disposed or failed when they become visible again.
      • This ensures a seamless user experience when scrolling back to a video after a global memory cleanup.
    Open source →
  9. 3.9.2 10 Apr 2026
    Release notes

    New Features

    • Hardware Decoder Auto-Recovery:
      • Added a global tracking system for OmniPlaybackController instances.
      • Implemented automatic cleanup and retry logic when Android reports NO_MEMORY or CodecException (error 0xfffffff4).
      • Added releaseAllResources() to GlobalPlaybackController to force-dispose all active players in critical memory situations.
    Open source →
  10. 3.9.1 09 Apr 2026
    Release notes

    🛠 Fix

    • Fixed replay race condition on all player types (YouTube, Vimeo, WebM, network).

      • replay() now runs sequentially (pause → seekTo(0) → play) instead of in parallel, preventing the video from stalling at position 0 with the wrong button state.
    • Fixed autoMuteOnStart + autoPlay ignored on Vimeo mobile.

      • play(), mute(), unMute(), and volume setter now use _executeOrQueue so deferred actions are correctly applied once the WebView is ready.
      • Fixed a bug where the volume setter was passing the old value ($volume) instead of the new value ($value) to the JS player.
    Open source →
  11. 3.9.0 12 Mar 2026
    Release notes

    New Features

    • Feat: New interactive Web volume slider (VolumeSliderControl) with hover support.
    • Breaking (Theme): Renamed VideoPlayerOverlayTheme to VideoPlayerBackdropTheme.
    • Theme: Introduced VideoPlayerMenuTheme, menuBorderRadius, volumeSliderThumbShape, and new volume-specific colors in VideoPlayerColorScheme.
    Open source →
  12. 3.8.8 11 Mar 2026
    Release notes

    🛠 Fix

    • resolve autoMuteOnStart ignored
      • See issue: #73
    Open source →
  13. 3.8.7 08 Mar 2026
    Release notes

    🛠 Fix

    • Fixed playback controls visibility and interaction issues on Web.
      • See issue: #70
    Open source →
  14. 3.8.6 06 Mar 2026
    Release notes

    New Features

    • Added activeGradient parameter to VideoPlayerColorScheme into OmniVideoPlayerThemeData
    Open source →
  15. 3.8.5 05 Mar 2026
    Release notes

    🛠 Fix

    • Fixed an error on onSeekRequest
    Open source →
  16. 3.8.4 05 Mar 2026

    Nothing published for this version

  17. 3.8.3 05 Mar 2026
    Release notes

    🛠 Fix

    • Fixed an error when switching to fullscreen in youtube live video
      • See issue: #72
    Open source →
  18. 3.8.2 02 Mar 2026
    Release notes

    🛠 Fix

    • Fixed an error into build for mobile
    Open source →
  19. 3.8.1 26 Feb 2026
    Release notes

    ⬆️ Update documentation

    Open source →
  20. 3.8.0 26 Feb 2026
    Release notes

    New Features

    • Added native HTML iframe support for Vimeo on Flutter Web
      • See issue: #67
    Open source →
  21. 3.7.4 26 Feb 2026
    Release notes

    New Features

    • Added httpHeaders parameter to VideoSourceConfiguration.network()
      • See issue: #68
    Open source →
  22. 3.7.3 26 Feb 2026
    Release notes

    🛠 Fix

    • Fixed an issue where YouTube live videos were failing to play.
      • See issue: #66
    Open source →
  23. 3.7.2 13 Jan 2026
    Release notes

    🛠 Fix

    • Fixed minor bugs
    Open source →
  24. 3.7.1 10 Jan 2026
    Release notes

    New Features

    • Added autoFullScreenAtStart parameter to VideoSourceConfiguration.
      • This flag controls whether the video should automatically switch to fullscreen mode as soon as the player initialization is complete.
      • Default: false.
    Open source →
  25. 3.7.0 10 Jan 2026
    Release notes

    🛠 Fix

    • Fixed audio-video synchronization issues for YouTube videos.
      • Resolved desynchronization occurring when seeking or changing playback speed.
      • See issue: #64
    Open source →
  26. 3.6.0 09 Jan 2026
    Release notes

    New Features

    • Added pauseWhenOutOfView parameter to VideoSourceConfiguration.
      • This flag controls whether the video should automatically pause when the player is scrolled out of the viewport or is no longer visible.
      • Default: true (the video will pause when it leaves the view).
    Open source →
  27. 3.5.3 24 Dec 2025
    Release notes

    ⬆️ Update documentation

    Open source →
  28. 3.5.2 23 Dec 2025
    Release notes

    🛠 Fix

    • Fixed network http player bug with duration
      • See issue: #56
    Open source →
  29. 3.5.1 19 Dec 2025

    Nothing published for this version

  30. 3.5.0 18 Dec 2025
    Release notes
    • Fixed minor bugs on YouTube Webview isFinished
    • Add support to webm on iOS (with a WebView)
    Open source →
  31. 3.4.5 10 Dec 2025
    Release notes
    • Fixed minor bugs:
      • Resolved video/audio desynchronization when using seekTo
      • Improved WebView rendering performance
    Open source →
  32. 3.4.4 24 Nov 2025
    Release notes

    🛠 Fix

    • Fixed vimeo player bug
      • See issue: #54
    Open source →
  33. 3.4.4-beta 04 Dec 2025 pre-release

    Nothing published for this version

  34. 3.4.3 23 Nov 2025
    Release notes

    ⬆️ Updates pub.dev page

    Open source →
  35. 3.4.2 23 Nov 2025

    Nothing published for this version

  36. 3.4.1 21 Nov 2025
    Release notes

    New Features

    • Added new enableZoom parameter in PlayerUIVisibilityOptions to allow pinch-to-zoom gestures on the video player (default: false).
    • Fixed some minor bugs
    Open source →
  37. 3.4.1-beta 21 Nov 2025 pre-release

    Nothing published for this version

  38. 3.4.0 21 Nov 2025

    Nothing published for this version

  39. 3.3.23 21 Nov 2025
    Release notes

    🛠 Fix

    • Fixed some minor bugs
    Open source →
  40. 3.3.22 21 Nov 2025

    Nothing published for this version

  41. 3.3.21 21 Nov 2025

    Nothing published for this version

  42. 3.3.20 21 Nov 2025

    Nothing published for this version

  43. 3.3.19 21 Nov 2025

    Nothing published for this version

  44. 3.3.18 21 Nov 2025

    Nothing published for this version

  45. 3.3.17 21 Nov 2025

    Nothing published for this version

  46. 3.3.16 21 Nov 2025

    Nothing published for this version

  47. 3.3.15 21 Nov 2025

    Nothing published for this version

  48. 3.3.14 19 Nov 2025

    Nothing published for this version

  49. 3.3.13 18 Nov 2025
    Release notes

    🛠 Fix

    • Fixed the issue where unlisted YouTube videos kept loading.

      • See issue: #50
    Open source →
  50. 3.3.13-beta 18 Nov 2025 pre-release

    Nothing published for this version

  51. 3.3.12 18 Nov 2025
    Release notes

    New Features

    • Added new fitVideoToBounds parameter in PlayerUIVisibilityOptions to control whether the video fills the available area (default: true).

    🛠 Fix

    • Minor stability and UI fixes.
    Open source →
  52. 3.3.11 18 Nov 2025

    Nothing published for this version

  53. 3.3.10 18 Nov 2025

    Nothing published for this version

  54. 3.3.9 18 Nov 2025

    Nothing published for this version

  55. 3.3.8 18 Nov 2025

    Nothing published for this version

  56. 3.3.7 18 Nov 2025

    Nothing published for this version

  57. 3.3.6 17 Nov 2025

    Nothing published for this version

  58. 3.3.6-beta 17 Nov 2025 pre-release

    Nothing published for this version

  59. 3.3.5 13 Nov 2025
    Release notes

    New Features

    • Added scrubbing thumbnail preview in the video player UI.

      • Introduced a new showScrubbingThumbnailPreview parameter in PlayerUIVisibilityOptions.
      • This parameter allows developers to enable or disable the small preview thumbnail that appears when dragging the seek bar.
      • Default value is true, ensuring the preview is shown unless explicitly turned off.
    Open source →
  60. 3.3.5-beta 13 Nov 2025 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive