better_player
Advanced video player. It solves many typical use cases and it's easy to run.
0.8.0
3.9K downloads/mo
#4222 most downloaded on pub.dev
jhomlala/betterplayer
What this package is like to depend on
Last release 2 days ago
21 Aug 2026
Ships unpredictably
gaps range from 9 days to 2.1 years
Nearly every release is documented
notes for 99 of 99 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
99 releases · first in 2020
14 releases in the last 12 months
see the full history below
Release timeline
99 releases · Apr 2020 to Aug 2026Releases
latest 60 of 99-
0.8.021 Aug 2026Release notes
Open source →What's Changed
- docs: improve alert box styling and dark mode support by @jhomlala in #1461
- Docs/improve alert styling by @jhomlala in #1462
- fix: robust dark mode detection for documentation alerts and remove u… by @jhomlala in #1463
- Docs/improve alert styling by @jhomlala in #1464
- Refactor/swift refinement v2 by @jhomlala in #1466
- docs: mark Swift and SPM migrations as breaking changes by @jhomlala in #1467
Full Changelog: 0.7.1...0.8.0
Release notes
Open source →- Added: Maestro E2E flows for iOS and integrated them into GitHub Actions.
- Updated: [BREAKING_CHANGE] Migrated iOS implementation to Swift.
- Updated: [BREAKING_CHANGE] Finalized Swift Package Manager (SPM) migration for iOS.
-
0.7.119 Aug 2026Release notes
Open source →What's Changed
- fix: embedded HLS subtitles rendering by correcting segment timing and JIT loading logic by @jhomlala in #1455
- fix: resolve race condition in audio track initialization by @jhomlala in #1457
- fix: broken image links in documentation by @jhomlala in #1458
- fix: HLS ABR sizing issue on Android TV by making UI reactive to size change by @jhomlala in #1459
- chore: release version 0.7.1 by @jhomlala in #1460
Full Changelog: 0.7.0...0.7.1
Release notes
Open source →- Fixed: HLS ABR video sizing issues (small video in corner) on Android TV and other platforms by making UI components reactive to resolution changes reported by the native layer.
- Fixed: Broken image links in the documentation by updating the paths to
assets/media/. - Fixed: Audio tracks returning null immediately after data source setup by awaiting ASMS parsing and improving track state management.
- Fixed: Embedded HLS/ASMS subtitles not being rendered due to incorrect segment timing and JIT loading logic.
-
0.7.018 Aug 2026Release notes
Open source →What's Changed
- fix: dynamic resolution resizing for adaptive streams and update example app by @jhomlala in #1450
- fix: DASH live stream sliding window looping issue on Android by @jhomlala in #1451
- chore: split flutter workflow into format, lint, and test jobs by @jhomlala in #1452
- Fix: Handle DASH streams on iOS with descriptive error by @jhomlala in #1453
- chore: bump version to 0.7.0 by @jhomlala in #1454
Full Changelog: 0.6.1...0.7.0
Release notes
Open source →- Fixed: Improved error handling for DASH streams on iOS by providing a descriptive Dart-side exception instead of a generic native error (AVPlayer does not support DASH).
- Updated: Documentation to clarify that DASH and Smooth Streaming are currently Android-only features.
- Added:
changedSizeevent for both Android and iOS to update player dimensions during playback, fixing the issue where video container does not resize when resolution changes dynamically. - Fixed: DASH live streams with sliding windows jumping or looping back on Android. Improved native DASH live configuration and correctly marked example streams as live.
-
0.6.118 Aug 2026Release notes
Open source →What's Changed
- fix(android): duration reports zero for VOD streams when ExoPlayer resolves it after STATE_READY by @jhomlala with @Copilot in #1439
- Docs/improve agents rules by @jhomlala in #1445
- Fix aspect ratio ignoring actual video dimensions by @jhomlala with @Copilot in #1443
- Updated: Reorganized media files and added pub.dev screenshots/logo by @jhomlala in #1447
- Release 0.6.1: Add auto-fullscreen example and bug fixes by @jhomlala in #1449
New Contributors
Full Changelog: 0.6.0...0.6.1
Release notes
Open source →- Added: Example demonstrating auto-fullscreen on rotation using
OrientationBuilder. - Updated: Reorganized media files into
assets/media/and addedassets/pub/for pub.dev screenshots and logo. - Fixed: Android duration sometimes reporting zero for VOD streams by handling ExoPlayer's
C.TIME_UNSETvalue and delaying theinitializedevent until a valid duration is available viaonTimelineChanged. - Fixed: Video aspect ratio not scaling correctly based on the video's actual aspect ratio when no aspect ratio is configured.
- Added: Unit tests for video aspect ratio priority and duration initialization.
-
0.6.016 Aug 2026Release notes
Open source →What's Changed
- Change Android package name and namespace to pl.hasoft.better_player by @jhomlala in #1441
- Add migration guides from video_player and chewie, update docs styling by @jhomlala in #1442
Full Changelog: 0.5.0...0.6.0
Release notes
Open source →- [BREAKING_CHANGE] Updated: Changed Android package name, namespace, and bundle ID to
pl.hasoft.better_player. - Added: Comprehensive migration guides for transitioning from
video_playerandchewietobetter_player. - Updated: Enhanced dark mode alert colors for documentation tips and important notes.
- Updated: Added direct links to migration guides in README.md and documentation sidebar.
-
0.5.016 Aug 2026Release notes
Open source →- Updated: Major architectural refactor of player controls and UI components. Helper build methods (
_buildWidget()) were replaced with dedicated FlutterWidgetclasses for improved modularity, performance, and maintainability. - Added: New granular widgets for Material and Cupertino controls, including top/bottom bars, hit areas, and status overlays.
- Added: Isolated component testing suite for refactored widgets to improve UI reliability and coverage.
- Updated: Applied project-wide coding standard for named parameters (required for 2+ arguments or 1 boolean argument).
- Updated: Major architectural refactor of player controls and UI components. Helper build methods (
-
0.4.315 Aug 2026Release notes
Open source →What's Changed
- Fix/doc typos grammar by @jhomlala in #1437
- Feature/accessibility improvements by @jhomlala in #1438
Full Changelog: 0.4.2...0.4.3
Release notes
Open source →- Updated: Comprehensive documentation overhaul for professional tone, grammar, and typos across all project documentation.
- Fixed: Documentation alert rendering by adding
docsify-plugin-flexible-alertsplugin. - Added: Advanced accessibility support with localized labels and interactive semantics for controls and progress bar.
- Fixed: Example app home page video URL.
-
0.4.214 Aug 2026Release notes
Open source →Release notes
Open source →- Fixed: Restricted logo size on the documentation website to prevent it from being too large.
- Updated: Replaced legacy PNG logo with a modern, concentric SVG identity across the library, documentation, and example app.
- Updated: Generated new Android and iOS launcher icons for the example app using the modern identity.
- Updated: Refactored README.md to a professional standard with categorized features and a quick start guide.
-
0.4.114 Aug 2026Release notes
Open source →Update example app with stable video URLs (#1430)
* Update example app with stable video URLs and bump version to 0.2.2
* Add GlobalCupertinoLocalizations delegate to fix pl_PL support warning
* Fix localization support for pl_PL by using GlobalMaterialLocalizations.delegates from flutter_localizations
* Fix localization issue by using standard MaterialApp and combining delegates from flutter_localizations and material_ui
* Update AGENTS.md: Specify that tags must not use 'v' prefix
* Restore full CHANGELOG.md history and organize new fixes under Unreleased
* Update AGENTS.md with Proactive Refactoring rule
* Update AGENTS.md: include iOS in proactive refactoring standards
* Update example app name to 'Better Player Example'
* Re-update example constants with stable URLs and improved subtitles
* Fix 403 error by reverting to commondatastorage.googleapis.com for GTV samples
* Update CHANGELOG with 403 fix
* Revert version bump to 0.4.0 and move fixes to Unreleased section
* Update AGENTS.md with rules against unilateral versioning and troubleshooting tips
* Replace Big Buck Bunny URL with reliable jsDelivr CDN link
* Consolidate changelog entries and update AGENTS.md guidelines
* Update elephantDreamVideoUrl to reliable jsDelivr CDN link
* Update elephantDreamVideoUrl with a working Elephants Dream video from Xiph.org
* Update elephantDreamVideoUrl with a stable link from Archive.org
* Update Event Listener and Controls Configuration pages to use reliable Big Buck Bunny URL
* Update resolutions example to use stable MP4 URLs for quality switching
* Consolidate changelog and update playlist with reliable videos
* Update video list and elephant dream constant with reliable CDN link
* Remove troubleshooting section from AGENTS.md
* Update example video URLs with stable lorem.video sources
* Fix auto fullscreen orientation example by adding truly vertical video and triggering fullscreen on button tap
* Fix layout overflow in auto fullscreen orientation example by wrapping in SingleChildScrollView
* Update vertical and horizontal video URLs for auto fullscreen orientation example
* Update vertical video URL to a stable GitHub source
* Enable Picture-in-Picture support in AndroidManifest.xml
* Fix layout overflow in Picture-in-Picture example by wrapping in SingleChildScrollView
* Fix disablePictureInPicture on Android: restore activity to front instead of moving task to back
* Revert PiP restoration logic and add check for active PiP mode in enablePictureInPicture
* Add PiP active check to disablePictureInPicture on Android
* Update DRM test streams with stable working mirrors for Widevine and FairPlay
* Update dashStreamUrl with a reliable DASH test stream from Shaka Demo assets
* Update dashStreamUrl with a comprehensive DASH-IF test stream (Multi-Audio/Video/Subs)
* Update AGENTS.md: Always run format and analyze in both root and example directories
* Revert version to 0.4.0, update install docs, and finalize PiP and DRM fixes
Release notes
Open source →- Fixed: Updated example video and image URLs with stable sources.
- Fixed: Updated DRM test streams (Widevine, FairPlay, and Token-based) in the example app with stable working mirrors.
- Fixed: Localization issue by using standard MaterialApp and combining delegates from flutter_localizations and material_ui.
- Updated: External subtitles in the example app to match the video content.
- Fixed: Enable Picture-in-Picture support in the example app's AndroidManifest.xml.
- Fixed: Layout overflow issues in multiple example pages by adding scrolling support.
- Fixed: Robustness of Picture-in-Picture mode activation and deactivation on Android.
-
0.4.013 Aug 2026Release notes
Open source →- [BREAKING_CHANGE] Added: Support for Built-in Kotlin.
- [BREAKING_CHANGE] Updated: Minimum Dart SDK version to 3.12.0.
-
0.3.013 Aug 2026Release notes
Open source →- [BREAKING_CHANGE] Migrated to Flutter 3.47.0.
- [BREAKING_CHANGE] Migrated Material and Cupertino UI systems to standalone
material_uiandcupertino_uipackages. - Updated
compileSdkVersionto 36 in Android. - Updated Kotlin version to 2.3.20 in the example app.
- Updated Android Gradle Plugin version to 9.0.1 in the example app.
-
0.2.112 Aug 2026Release notes
Open source →- Added:
.pubignoreto excludemedia/andAGENTS.mdfrom the published package. - Updated: Documentation and README links to point to the new media location on GitHub.
- Updated:
README.mdto remove outdated migration information. - Fixed:
prefer_if_elements_to_conditional_expressionslint warnings in Material controls.
- Added:
-
0.2.011 Aug 2026Release notes
Open source →- [BREAKING_CHANGE] Updated: iOS to Swift Package Manager (SPM). Native source files moved from
ios/Classestoios/better_player/Sources. - [BREAKING_CHANGE] Updated: Android
build.gradleusing theplugins {}block. Removed legacykotlin-androidapply plugin. - Updated:
very_good_analysisto 10.3.0 and addressed new linting rules. - Updated:
xmldependency to 7.0.0. - Updated:
metadependency to 1.18.0.
- [BREAKING_CHANGE] Updated: iOS to Swift Package Manager (SPM). Native source files moved from
-
0.1.008 Aug 2026Release notes
Open source →- [BREAKING_CHANGE] Updated: Android playback engine from ExoPlayer 2 to AndroidX Media3 (1.1.1).
- [BREAKING_CHANGE] Updated: minimum Flutter version to 3.22.0 and minimum Dart version to 3.4.0.
- Updated: linter to
very_good_analysis(VGV). - Updated: all core and dev dependencies.
- Updated: CI/CD workflows (GitHub Actions).
- Updated: Kotlin version to 2.2.20.
- Updated: compileSdkVersion to 34.
- Updated: General analysis, linting, and formatting improvements.
-
0.0.8415 Jun 2024Release notes
Open source →- [BREAKING_CHANGE] Updated min. Flutter version to 3.3.0 and min. Dart version to 3.0.0.
- Recreated example project.
- Replaced wakelock with wakelock plus.
- Updated other dependencies.
- Updated metadata.
-
0.0.8305 Jun 2022 -
0.0.8224 Apr 2022Release notes
Open source →- Updated ExoPlayer version to 2.17.1.
- Updated dependencies.
- Android native code refactor.
-
0.0.8129 Dec 2021Release notes
Open source →- Fixed full screen button padding in material controls.
- Added
setBetterPlayerControlsConfigurationinBetterPlayerController. - Added
setOverriddenFitinBetterPlayerController.
-
0.0.8029 Dec 2021Release notes
Open source →- Removed pedantic dependency.
- Updated dependencies.
- Fixed controls render issue for small player (by https://github.com/admarwick)
- Fixed deprecated jCenter. Replaced jCenter with mavenCentral (by https://github.com/petoknm)
- Fixed iOS GCDWebServer and PINCache import issue (by https://github.com/twogood)
- Added is mounted check in player controls (by https://github.com/masoudk2000)
- Updated installation documentation page.
-
0.0.7907 Nov 2021 -
0.0.7807 Nov 2021Release notes
Open source →- [BREAKING_CHANGE] Split controlsHidden into controlsHiddenStart and controlsHiddenEnd.
- [BREAKING_CHANGE] Added to Function(bool) onPlayerVisibilityChanged to customControlsBuilder in [BetterPlayerConfiguration].
- Migrated android native code to Kotlin.
- Updated ExoPlayer version to 2.15.1.
- Updated screenshots.
- Added onTapDown handle for material and cupertino progress bar to handle show and hide of controls.
- Fixed crash related to Android 12.
- Fixed issue with full url of subtitle for HLS data source.
- Fixed install page from doc.
- Fixed one of the showcase images.
- Fixed video in list example.
-
0.0.7716 Oct 2021Release notes
Open source →- Fixed full screen safe area issue in cupertino controls.
- Fixed subtitles duplication after changing data source.
- Fixed progress bar issues when changing position of the video.
- [BREAKING_CHANGE] Changed min. Flutter version to 2.2.3.
- Changed log level in ExoPlayer to Error.
- Added url parameter for changedResolution event.
- Added [videoExtension] support for network data source for scenario where video source has no extension and cache manager requires it.
- Added parameters to [changedTrack] event.
- Added [changedPlaylistItem] event.
- Added [autoDetectFullscreenAspectRatio] parameter in [BetterPlayerConfiguration] (by https://github.com/Brazol)
- Updated license.
- Updated screenshots.
-
0.0.7625 Sep 2021Release notes
Open source →- Fixed iOS build issue.
- [BREAKING_CHANGE] Changed min required iOS version to 11.
- Updated
BetterPlayerConfigurationcopyWithmethod. - Added
useRootNavigatoroption toBetterPlayerConfiguration.
-
0.0.7522 Sep 2021 -
0.0.7420 Sep 2021Release notes
Open source →- [BREAKING_CHANGE]
nextVideoTimeStreamControlleris now marked as private. Please usenextVideoTimeStreamto access stream. - [BREAKING_CHANGE] Removed BackdropFilter from cupertino theme.
- [BREAKING_CHANGE] Removed
sigmaXandsigmaYparameters from BetterPlayerControlsConfiguration. - Added
expandToFillinBetterPlayerConfiguration. - Added
BetterPlayerControlsConfiguration.themefactory forBetterPlayerControlsConfiguration. - Added null checks in seek commands in
BetterPlayerControlsState. - Added tests.
- Added iOS HLS caching based on HLSCachingReverseProxyServer.
- Added default subtitle support for ASMS HLS data source (by https://github.com/siloebb).
- Fixed issue with live stream where player controls were always visible.
- Fixed iOS seek issue.
- Fixed getting started button link in documentation.
- Changed iOS non-HLS caching implementation based on https://github.com/neekeetab/CachingPlayerItem (by https://github.com/themadmrj).
- Fixed hardcoded 30 FPS on iOS (by https://github.com/antonkrasov).
- Enabled
preCacheandstopPreCachefor iOS. - Updated dependencies.
- [BREAKING_CHANGE]
-
0.0.7315 Aug 2021Release notes
Open source →- Added
licenseUrlsupport for iOS DRM. - Fixed RTL text direction issue in player controls.
- Added
renderedSubtitleinBetterPlayerController. - Added additional check in
postControllerEventto handle scenario where event stream is closed. - Updated ExoPlayer version
- Fixed
bufferingUpdateevent triggered too often. - Updated video list example with bufering configuration.
- Updated video list documentation.
- Added
setMixWithOthersmethod inBetterPlayerListVideoPlayerController. - Fixed broken link in cover page of documentation.
- Fixed progress bar issue where position could be set above video duration.
- Fixed iOS remote notification command issue.
- Removed duplicated page in example app (by https://github.com/pinguluk)
- Added support for clear key DRM (by https://github.com/tinusneethling)
- Refreshed look and feel of the player UI (by https://github.com/creativeblaq)
- Added
sigmaXandsigmaYparameters in BetterPlayerControlsConfiguration to control blur of cupertino controls (original idea by: https://github.com/YeFei572)
- Added
-
0.0.7209 Jul 2021 -
0.0.7109 Jul 2021Release notes
Open source →- Fixed play after seeking issue on iOS.
- Fixed audio track selection issue on iOS/Android.
- Fixed issue where speed which couldn't be applied on iOS was saved in player state.
- Added support for D-pad navigation using a Android TV remote control (by https://github.com/danielz-nenda)
- Added
BetterPlayerMultipleGestureDetectorto handle problems with gesture detection - Expose getter for
eventListenersinBetterPlayerController(by https://github.com/Letalus) - Updated documentation
- Updated dependencies
-
0.0.7020 Jun 2021Release notes
Open source →- Fixed file data source exception. Right now user will be only warned.
- Fixed playback speed after seek in iOS.
- Fixed
overriddenDurationbehavior in iOS when passedoverriddenDurationis longer than video duration. - Fixed issue where controls were not updated after video finish.
- Fixed auto full screen orientation not enabled in iOS.
- Exposed ASMS classes.
- Exposed BetterPlayerControlsState to provide ways to build custom controls with additional menus.
- Added error handling for CacheWorker to prevent unexpected crashes.
- Added support for FairPlay EZDRM (by https://github.com/adrianByv and https://github.com/koldo92)
- Added
certificateUrlparameter in BetterPlayerDrmConfiguration. - Added support for custom buffering configuration in Android (by https://github.com/Letalus)
- Added
bufferingConfigurationparameter in BetterPlayerConfiguration which contains buffering settings.
-
0.0.6903 Jun 2021Release notes
Open source →- Fixed cache clear on Android.
- Added file check for file data source.
- Fixed issue with black screen for some videos on iOS (by https://github.com/themadmrj)
- Fixed iOS eventSink issues. (by https://github.com/alextekartik)
- Added key parameter in BetterPlayerCacheConfiguration to provide way to re-use same video between app sessions.
-
0.0.6822 May 2021Release notes
Open source →- Added support for segmented subtitles.
- Added new fields in in BetterPlayerSubtitlesSource:
asmsIsSegmented,asmsSegmentsTimeandasmsSegments. These fields shouldn't be configured manually. - Fixed parsing VTT subtitle timestamps with no hour component (by https://github.com/trms-alex).
- Fixed parsing VTT subtitles when there's no subtitles in the file (by https://github.com/trms-alex).
- Added ES translations (by https://github.com/koldo92).
- Fixed iOS Picture in Picture play/pause state.
- Updated dependencies.
- Updated iOS example configuration.
-
0.0.6719 May 2021Release notes
Open source →- Added support for DASH adaptive stream subtitles, audio tracks, tracks (by https://github.com/adrianByv)
- [BREAKING_CHANGE] Changed useHlsSubtitles, useHlsTracks, useHlsAudio to useAsmsSubtitles, useAsmsTracks, useAsmsAudio.
- Added DASH example.
- Fixed progress bar jumps when seeking video.
- Fixed end of video looping final second, and video stutter during AudioSession deactivation (by https://github.com/NicholasNagy)
-
0.0.6608 May 2021Release notes
Open source →- Added check in seek method to handle scenario when video wasn't ready to play.
- Added setupDataSourceList in BetterPlayerPlaylistController.
- Fixed playback stalled issue in iOS.
- Added pause on iOS dispose call.
- Added bufferedStart, bufferedUpdate, bufferedEnd events.
- Fixed full screen dismissed when new data source loaded.
- Added forget option for VisibilityDetectorController (by https://github.com/ChopinDavid).
- Added vietnamese translations (by https://github.com/thanhvn-57).
-
0.0.6525 Apr 2021Release notes
Open source →- Refactored Android notification image selection.
- Added headers parameter in BetterPlayerSubtitlesSource. Headers is an optional parameter.
- Added activityName to BetterPlayerNotificationConfiguration.
- Android notification will open back application (by https://github.com/shashikantdurge).
- Fixed playing audio-only resources in iOS.
- Updated Exo Player version.
- Fixed notification not updating correctly for playlists in Android.
- [BREAKING_CHANGE] Removed deprecated Android code. Better Player supports now only v2 embedding.
-
0.0.6411 Apr 2021Release notes
Open source →- Added Turkish translations (by https://github.com/smurat).
- Video fit fixes (by https://github.com/themadmrj).
- Fixed speed iOS issue.
- Fixed Android's notification image OOM issue.
- Fixed 0 second delay issue in playlist.
- Fixed drmHeaders to be sent in headers rather than request body (by https://github.com/FlutterSu)
- Added preCache, stopPreCache method in BetterPlayerController (coauthored with: https://github.com/themadmrj)
- [BREAKING_CHANGE] clearCache method doesn't require to setup data source in order to use.
-
0.0.6320 Mar 2021Release notes
Open source →- Fixed pause method in dispose.
- Added clearCache method in BetterPlayerController.
- Fixed reusable video player example issues.
-
0.0.6205 Mar 2021Release notes
Open source →- Refactored internal event handling.
- [BREAKING_CHANGE] Migrated to null safety.
- [BREAKING_CHANGE] Updated dart min version to 2.12.0.
- Fixed issue where player controls were immediately hidden.
- Removed cancelFullScreenDismiss parameter.
- Added initialization check for VideoPlayerController.
- Changed default value of enableProgressText to true in BetterPlayerControlsConfiguration.
- Setup first selected HLS Audio as default one.
- General bug fixes.
-
0.0.6101 Mar 2021 -
0.0.6028 Feb 2021Release notes
Open source →- Updated documentation.
- Added null checking for videoPlayerController inside BetterPlayerController.
- Added setMixWithOthers method to BetterPlayerController.
- Added initialStartIndex in BetterPlayerPlaylistConfiguration.
- Fixed issue where player did not disposed properly on app quit.
- Added placeholder parameter in BetterPlayerDataSource.
- Fixed custom material full screen icons (by https://github.com/FelipeFernandesLeandro)
-
0.0.5925 Feb 2021Release notes
Open source →- Fixed WEBVTT subtitles parsing.
- Updated ExoPlayer version.
- Refactored ExoPlayer code.
- Added missing controller dispose from BetterPlayer widget dispose.
- Added fix for iOS aspect ratio issue.
- Fixed auto play issue where player starts video after load initialization process and player is not visible.
- Updated texts in examples.
- Added missing widevine DRM parameters (by https://github.com/FlutterSu).
-
0.0.5824 Feb 2021Release notes
Open source →- Added overflowModalColor and overflowModalTextColor in BetterPlayerControlsConfiguration.
- Disabled picture in picture in fullscreen mode.
- Fixed enabled parameter for skip back and forward.
- Fixed notification configuration null issue (by https://github.com/bounty1342)
- Added token based and widevine DRM support.
- Updated documentation.
-
0.0.5721 Feb 2021Release notes
Open source →- Fixed iOS HLS initialization issue.
- Fixed issue where video plays after resume even if it's not visible.
- Updated User-Agent picking for Android.
- Added auto option for quality selection.
-
0.0.5620 Feb 2021Release notes
Open source →- Fixed empty data source notification issue.
- Fixed WebVTT subtitles parsing issue.
- Fixed memory data source issue on iOS.
- Added videoExtension parameter for memory data source (works only with memory data source).
- Added videoFormat parameter to network data source.
- Fixed controls visible all time on live stream.
- Fixed potential iOS notification crash.
-
0.0.5514 Feb 2021 -
0.0.5414 Feb 2021Release notes
Open source →- Refactored BetterPlayerPlaylist feature.
- Added new BetterPlayerPlaylistController which is accessible from BetterPlayerPlaylist's current state. Playlist video can be changed with setupDataSource method and current video index can be accessed with currentDataSourceIndex getter.
- Fixed iOS availableDuration index issue.
- Added arabic translations (by https://github.com/mohamed-Etman).
- Added headers to HLS data request (by https://github.com/mohamed-Etman).
- Added fullScreenAspectRatio to copyWith method in BetterPlayerConfiguration (by https://github.com/njlawton)
-
0.0.5311 Feb 2021Release notes
Open source →- Fixed fullscreen issue.
- Fixed HLS tracks selection.
- Removed HLS parser package and included HLS parser package in Better Player.
- Removed unused player observer in iOS.
- Fixed cache issue in Android where multiple Better Player instances uses same directory.
- Fixed HLS parsing issue.
- Added HLS Audio example.
-
0.0.5207 Feb 2021Release notes
Open source →- Fixed unregister listener issue in iOS.
- Updated documentation.
- [BREAKING_CHANGE] BetterPlayerState visibility changed to private.
- Fixed HLS audio tracks playlist selection issue.
- Added enableProgressBarDrag in BetterPlayerControlsConfiguration.
- Fixed audio track picking in ExoPlayer (Android).
- Changed default loadingColor.
-
0.0.5106 Feb 2021 -
0.0.5005 Feb 2021Release notes
Open source →- Fixed deprecated resizeToAvoidBottomPadding
- Fixed playing large videos in iOS.
- [BREAKING_CHANGE] Removed autoPlay and errorBuilder from BetterPlayerController. These can be accessed via betterPlayerController.
- Added HLS Audio track support.
- Added setAudioTrack method in BetterPlayerController.
- Added useHlsAudioTrack parameter in BetterPlayerDataSource.
- Added enableAudioTracks and audioTracksIcon, backgroundColor in BetterPlayerControlsConfiguration.
- Fixed HLS loading speed.
- Fixed finished event creation.
- Fixed player pause issue when player notification is displayed.
- Fixed player not pausing/resuming automatically correctly.
-
0.0.4931 Jan 2021Release notes
Open source →- Fixed fullscreen dispose issue.
- Added videoFormat parameter in BetterPlayerDataSource (should be used when data source url has no extension).
- Added retry feature after video failed to load.
- Added enableRetry in BetterPlayerControlsConfiguration.
- Changed BetterPlayerEventType.openFullscreen and BetterPlayerEventType.hideFullscreen events behavior (now events trigger after route change).
- Removed closed caption support from original video_player codebase.
- Fixed chinese translation typo (fixed by https://github.com/Big7lion)
-
0.0.4823 Jan 2021Release notes
Open source →- Fixed loading large videos in iOS.
- Fixed partly progress bar jumping when seek issue in iOS.
- Added forceDispose parameter to dispose method in BetterPlayerController.
- Fixed Android notification vibration issue (fixed by https://github.com/marcusforsberg).
-
0.0.4720 Jan 2021Release notes
Open source →- Fixed Android loading indicator issue.
- Added setControlsAlwaysVisible in BetterPlayerController.
- Added absolutePosition feature (added by https://github.com/FlutterSu)
-
0.0.4614 Jan 2021 -
0.0.4513 Jan 2021Release notes
Open source →- Added Picture in Picture support.
- Added new parameters in BetterPlayerControlsConfiguration: pipMenuIcon and enablePip.
- Added new methods in BetterPlayerController: enablePictureInPicture, disablePictureInPicture, isPictureInPictureSupported, setBetterPlayerGlobalKey.
- Added Picture in Picture icon in player controls.
- Added Picture in Picture example.
- Updated ExoPlayer version.
- Added pipStart and pipStop events.
- [BREAKING_CHANGE] Removed skipsTimeInMilliseconds. Added forwardSkipTimeInMilliseconds and backwardSkipTimeInMilliseconds.
- Updated notification service in android example.
- Fixed event play/pause event not triggered when controlling video with PiP or remote notification.
- Fixed playerTheme not set correctly.
- Fixed progress bar able to drag over other buttons.
- Fixed iOS player last second issue (player did not complete on last second of resource).
-
0.0.4409 Jan 2021Release notes
Open source →- Added placeholder until play example
- Added playback stalled feature in iOS. iOS version should behave same as Android once video failed to load.
- Added BetterPlayerTheme to controls configuration (added by https://github.com/maine98).
- [BREAKING_CHANGE] Changed custom controls builder in BetterPlayerControlsConfiguration. Now it accepts BetterPlayerController.
- Exposed BetterPlayerPlaylistState and betterPlayerController getter within.
- Added overriddenDuration to BetterPlayerDataSource.
-
0.0.4303 Jan 2021Release notes
Open source →- Added autoDispose flag in BetterPlayerConfiguration
- Added removeEventsListener in BetterPlayerController
- Video list examples update
- Fixed Android native build warnings
- Fixed placeholder until play issues
- Added placeholderOnTop to the BetterPlayerConfiguration
- Lint fixes
-
0.0.4230 Dec 2020Release notes
Open source →- Fixed resolution issue
- Fixed type of BetterPlayerDataSource for file type
- Added audio notify on dispose (iOS) (fixed by https://github.com/kingiol)
-
0.0.4128 Dec 2020Release notes
Open source →- Fixed loadingColor and loadingWidget for cupertino player
- Increased size of cupertino buttons
- Fixed setControlsEnabled in cupertino/material player
- [BREAKING_CHANGE] Removed startAt, looping, placeholder, overlay, fullScreenByDefault, allowedScreenSleep, systemOverlaysAfterFullScreen, deviceOrientationsAfterFullScreen from BetterPlayerController
-
0.0.4028 Dec 2020Release notes
Open source →- Exposed VideoPlayerValue in export
- Fixed log issue
- Added loadingColor and loadingWidget in BetterPlayerControlsConfiguration
-
0.0.3927 Dec 2020Release notes
Open source →- Added lint library for dart analysis
- [BREAKING_CHANGE] Changed constant names to lowerCamelCase in BetterPlayerDataSourceType
- [BREAKING_CHANGE] Changed constant names to lowerCamelCase in BetterPlayerEventType
- [BREAKING_CHANGE] Changed constant names to lowerCamelCase in BetterPlayerSubtitlesSourceType