NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #4165 most downloaded on pub.dev
Advanced video player for Flutter with HLS, DASH, DRM, subtitles, caching, PiP, playlists, and custom controls.
Last release 4 days ago
03 Oct 2026
Ships unpredictably
gaps range from 8 days to 2.1 years
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
127 releases · first in 2020
Added check in seek method to handle scenario when video wasn't ready to play.
[BREAKING_CHANGE] Removed deprecated Android code. Better Player supports now only v2 embedding.
One column per quarter.
Added Turkish translations (by https://github.com/smurat).
Added clearCache method in BetterPlayerController.
Refactored internal event handling.
Fixed fullscreenByDefault issue.
Added null checking for videoPlayerController inside BetterPlayerController.
Fixed WEBVTT subtitles parsing.
Added overflowModalColor and overflowModalTextColor in BetterPlayerControlsConfiguration.
Fixed iOS HLS initialization issue.
Fixed empty data source notification issue.
* Dart analysis fix
Refactored BetterPlayerPlaylist feature.
Removed HLS parser package and included HLS parser package in Better Player.
Fixed unregister listener issue in iOS.
* Fixed lint issues. * Fixed subtitles setup issue.
Fixed deprecated resizeToAvoidBottomPadding
Fixed fullscreen dispose issue.
Fixed loading large videos in iOS.
Fixed Android loading indicator issue.
Fixed iOS AVPlayer observer issue.
Added Picture in Picture support.
Added placeholder until play example
Added autoDispose flag in BetterPlayerConfiguration
Fixed type of BetterPlayerDataSource for file type
Fixed loadingColor and loadingWidget for cupertino player
Exposed VideoPlayerValue in export
Added lint library for dart analysis
Added support for player notifications
Added setControlsEnabled to BetterPlayerController
Added autoDetectFullscreenDeviceOrientation in BetterPlayerConfiguration
Fixed full screen placeholder issue
Added factories: network, file, memory for BetterPlayerDataSource
Fixed BetterPlayerEvent visibility
Fixed locale picking when context is not mounted anymore
Added showPlaceholderUntilPlay in BetterPlayerConfiguration
Fixed issue when full screen was triggered twice if autoPlay and fullScreenByDefault were enabled
Fixed routePageBuilder usage from BetterPlayerConfiguration
* Updated readme
Fixed subtitles overflow issue when transitioning between fullscreen and normal state
Added enableOverflowMenu option in BetterPlayerControlsConfiguration (enable/disable overflow menu)
Added fullScreenAspectRatio and deviceOrientationsOnFullScreen to handle different full screen scenarios
[BREAKING_CHANGE]: changed API in BetterPlayerControlsConfiguration: enableQualities replaces enableTracks.
Added possibility to set multiple subtitles to video
Added player visibility changed behavior in BetterPlayerConfiguration.
Added support for hls tracks (quality of the videos).
Added enableSubtitles parameter.
Added rotation parameter in BetterPlayerConfiguration.
Added support for hls subtitles (BetterPlayer will handle them automatically).
Fixed loading issue when auto play video feature is enabled in playlist.
Fixed placeholder not following video fit options (fixed by https://github.com/nicholascioli).
Added playback speed feature (based on https://github.com/shiyiya solution).
Added fit configuration option (based on https://github.com/shiyiya solution).
Better player list video player state is preserved on state changed.
Changed channel name of video player plugin.
Fixed duration called on null (fixed by https://github.com/ganeshrvel).
* Fixed iOS crash on dispose. * Added player headers support. * Updated dependencies. * Dart Analysis refactor.
Added BetterPlayerListVideoPlayerController to control list video player.
Fixed setState called after dispose.
Fixed buffering indicator issue on Android.
Your coding agent can read these notes before it upgrades. Set up the MCP server →