PackageTrack
Sign in Get early access

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 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 99
  1. 0.8.0 21 Aug 2026
    Release notes

    What's Changed

    Full Changelog: 0.7.1...0.8.0

    Open source →
    Release notes
    • 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.
    Open source →
  2. 0.7.1 19 Aug 2026
    Release notes

    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

    Open source →
    Release notes
    • 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.
    Open source →
  3. 0.7.0 18 Aug 2026
    Release notes

    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

    Open source →
    Release notes
    • 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: changedSize event 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.
    Open source →
  4. 0.6.1 18 Aug 2026
    Release notes

    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

    Open source →
    Release notes
    • Added: Example demonstrating auto-fullscreen on rotation using OrientationBuilder.
    • Updated: Reorganized media files into assets/media/ and added assets/pub/ for pub.dev screenshots and logo.
    • Fixed: Android duration sometimes reporting zero for VOD streams by handling ExoPlayer's C.TIME_UNSET value and delaying the initialized event until a valid duration is available via onTimelineChanged.
    • 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.
    Open source →
  5. 0.6.0 16 Aug 2026
    Release notes

    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

    Open source →
    Release notes
    • [BREAKING_CHANGE] Updated: Changed Android package name, namespace, and bundle ID to pl.hasoft.better_player.
    • Added: Comprehensive migration guides for transitioning from video_player and chewie to better_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.
    Open source →
  6. 0.5.0 16 Aug 2026
    Release notes

    What's Changed

    • Refactor: Replace helper build methods with dedicated Widget classes by @jhomlala in #1440

    Full Changelog: 0.4.3...0.5.0

    Open source →
    Release notes
    • Updated: Major architectural refactor of player controls and UI components. Helper build methods (_buildWidget()) were replaced with dedicated Flutter Widget classes 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).
    Open source →
  7. 0.4.3 15 Aug 2026
    Release notes

    What's Changed

    Full Changelog: 0.4.2...0.4.3

    Open source →
    Release notes
    • Updated: Comprehensive documentation overhaul for professional tone, grammar, and typos across all project documentation.
    • Fixed: Documentation alert rendering by adding docsify-plugin-flexible-alerts plugin.
    • Added: Advanced accessibility support with localized labels and interactive semantics for controls and progress bar.
    • Fixed: Example app home page video URL.
    Open source →
  8. 0.4.2 14 Aug 2026
    Release notes

    Fix/docs rename (#1436)

    * Migrate to Built-in Kotlin and bump version to 0.4.0

    * feat: updated docs

    Open source →
    Release notes
    • 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.
    Open source →
  9. 0.4.1 14 Aug 2026
    Release notes

    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

    Open source →
    Release notes
    • 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.
    Open source →
  10. 0.4.0 13 Aug 2026
    Release notes
    • [BREAKING_CHANGE] Added: Support for Built-in Kotlin.
    • [BREAKING_CHANGE] Updated: Minimum Dart SDK version to 3.12.0.
    Open source →
  11. 0.3.0 13 Aug 2026
    Release notes
    • [BREAKING_CHANGE] Migrated to Flutter 3.47.0.
    • [BREAKING_CHANGE] Migrated Material and Cupertino UI systems to standalone material_ui and cupertino_ui packages.
    • Updated compileSdkVersion to 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.
    Open source →
  12. 0.2.1 12 Aug 2026
    Release notes
    • Added: .pubignore to exclude media/ and AGENTS.md from the published package.
    • Updated: Documentation and README links to point to the new media location on GitHub.
    • Updated: README.md to remove outdated migration information.
    • Fixed: prefer_if_elements_to_conditional_expressions lint warnings in Material controls.
    Open source →
  13. 0.2.0 11 Aug 2026
    Release notes
    • [BREAKING_CHANGE] Updated: iOS to Swift Package Manager (SPM). Native source files moved from ios/Classes to ios/better_player/Sources.
    • [BREAKING_CHANGE] Updated: Android build.gradle using the plugins {} block. Removed legacy kotlin-android apply plugin.
    • Updated: very_good_analysis to 10.3.0 and addressed new linting rules.
    • Updated: xml dependency to 7.0.0.
    • Updated: meta dependency to 1.18.0.
    Open source →
  14. 0.1.0 08 Aug 2026
    Release notes
    • [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.
    Open source →
  15. 0.0.84 15 Jun 2024
    Release notes
    • [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.
    Open source →
  16. 0.0.83 05 Jun 2022
    Release notes
    • Updated dependencies
    • Fixed Flutter 3.0 issues
    Open source →
  17. 0.0.82 24 Apr 2022
    Release notes
    • Updated ExoPlayer version to 2.17.1.
    • Updated dependencies.
    • Android native code refactor.
    Open source →
  18. 0.0.81 29 Dec 2021
    Release notes
    • Fixed full screen button padding in material controls.
    • Added setBetterPlayerControlsConfiguration in BetterPlayerController.
    • Added setOverriddenFit in BetterPlayerController.
    Open source →
  19. 0.0.80 29 Dec 2021
    Release notes
    • 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.
    Open source →
  20. 0.0.79 07 Nov 2021
    Release notes
    • Fixed kotlin version issue.
    Open source →
  21. 0.0.78 07 Nov 2021
    Release notes
    • [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.
    Open source →
  22. 0.0.77 16 Oct 2021
    Release notes
    • 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.
    Open source →
  23. 0.0.76 25 Sep 2021
    Release notes
    • Fixed iOS build issue.
    • [BREAKING_CHANGE] Changed min required iOS version to 11.
    • Updated BetterPlayerConfiguration copyWith method.
    • Added useRootNavigator option to BetterPlayerConfiguration.
    Open source →
  24. 0.0.75 22 Sep 2021
    Release notes
    • Fixed iOS build issue.
    Open source →
  25. 0.0.74 20 Sep 2021
    Release notes
    • [BREAKING_CHANGE] nextVideoTimeStreamController is now marked as private. Please use nextVideoTimeStream to access stream.
    • [BREAKING_CHANGE] Removed BackdropFilter from cupertino theme.
    • [BREAKING_CHANGE] Removed sigmaX and sigmaY parameters from BetterPlayerControlsConfiguration.
    • Added expandToFill in BetterPlayerConfiguration.
    • Added BetterPlayerControlsConfiguration.theme factory for BetterPlayerControlsConfiguration.
    • 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 preCache and stopPreCache for iOS.
    • Updated dependencies.
    Open source →
  26. 0.0.73 15 Aug 2021
    Release notes
    • Added licenseUrl support for iOS DRM.
    • Fixed RTL text direction issue in player controls.
    • Added renderedSubtitle in BetterPlayerController.
    • Added additional check in postControllerEvent to handle scenario where event stream is closed.
    • Updated ExoPlayer version
    • Fixed bufferingUpdate event triggered too often.
    • Updated video list example with bufering configuration.
    • Updated video list documentation.
    • Added setMixWithOthers method in BetterPlayerListVideoPlayerController.
    • 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 sigmaX and sigmaY parameters in BetterPlayerControlsConfiguration to control blur of cupertino controls (original idea by: https://github.com/YeFei572)
    Open source →
  27. 0.0.72 09 Jul 2021
    Release notes
    • Updated ExoPlayer version
    Open source →
  28. 0.0.71 09 Jul 2021
    Release notes
    • 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 BetterPlayerMultipleGestureDetector to handle problems with gesture detection
    • Expose getter for eventListeners in BetterPlayerController (by https://github.com/Letalus)
    • Updated documentation
    • Updated dependencies
    Open source →
  29. 0.0.70 20 Jun 2021
    Release notes
    • Fixed file data source exception. Right now user will be only warned.
    • Fixed playback speed after seek in iOS.
    • Fixed overriddenDuration behavior in iOS when passed overriddenDuration is 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 certificateUrl parameter in BetterPlayerDrmConfiguration.
    • Added support for custom buffering configuration in Android (by https://github.com/Letalus)
    • Added bufferingConfiguration parameter in BetterPlayerConfiguration which contains buffering settings.
    Open source →
  30. 0.0.69 03 Jun 2021
    Release notes
    • 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.
    Open source →
  31. 0.0.68 22 May 2021
    Release notes
    • Added support for segmented subtitles.
    • Added new fields in in BetterPlayerSubtitlesSource: asmsIsSegmented, asmsSegmentsTime and asmsSegments. 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.
    Open source →
  32. 0.0.67 19 May 2021
    Release notes
    • 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)
    Open source →
  33. 0.0.66 08 May 2021
    Release notes
    • 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).
    Open source →
  34. 0.0.65 25 Apr 2021
    Release notes
    • 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.
    Open source →
  35. 0.0.64 11 Apr 2021
    Release notes
    • 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.
    Open source →
  36. 0.0.63 20 Mar 2021
    Release notes
    • Fixed pause method in dispose.
    • Added clearCache method in BetterPlayerController.
    • Fixed reusable video player example issues.
    Open source →
  37. 0.0.62 05 Mar 2021
    Release notes
    • 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.
    Open source →
  38. 0.0.61 01 Mar 2021
    Release notes
    • Fixed fullscreenByDefault issue.
    • Updated documentation.
    Open source →
  39. 0.0.60 28 Feb 2021
    Release notes
    • 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)
    Open source →
  40. 0.0.59 25 Feb 2021
    Release notes
    • 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).
    Open source →
  41. 0.0.58 24 Feb 2021
    Release notes
    • 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.
    Open source →
  42. 0.0.57 21 Feb 2021
    Release notes
    • 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.
    Open source →
  43. 0.0.56 20 Feb 2021
    Release notes
    • 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.
    Open source →
  44. 0.0.55 14 Feb 2021
    Release notes
    • Dart analysis fix
    Open source →
  45. 0.0.54 14 Feb 2021
    Release notes
    • 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)
    Open source →
  46. 0.0.53 11 Feb 2021
    Release notes
    • 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.
    Open source →
  47. 0.0.52 07 Feb 2021
    Release notes
    • 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.
    Open source →
  48. 0.0.51 06 Feb 2021
    Release notes
    • Fixed lint issues.
    • Fixed subtitles setup issue.
    Open source →
  49. 0.0.50 05 Feb 2021
    Release notes
    • 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.
    Open source →
  50. 0.0.49 31 Jan 2021
    Release notes
    • 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)
    Open source →
  51. 0.0.48 23 Jan 2021
    Release notes
    • 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).
    Open source →
  52. 0.0.47 20 Jan 2021
    Release notes
    • Fixed Android loading indicator issue.
    • Added setControlsAlwaysVisible in BetterPlayerController.
    • Added absolutePosition feature (added by https://github.com/FlutterSu)
    Open source →
  53. 0.0.46 14 Jan 2021
    Release notes
    • Fixed iOS AVPlayer observer issue.
    • Fixed iOS headers not applied issue.
    Open source →
  54. 0.0.45 13 Jan 2021
    Release notes
    • 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).
    Open source →
  55. 0.0.44 09 Jan 2021
    Release notes
    • 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.
    Open source →
  56. 0.0.43 03 Jan 2021
    Release notes
    • 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
    Open source →
  57. 0.0.42 30 Dec 2020
    Release notes
    • Fixed resolution issue
    • Fixed type of BetterPlayerDataSource for file type
    • Added audio notify on dispose (iOS) (fixed by https://github.com/kingiol)
    Open source →
  58. 0.0.41 28 Dec 2020
    Release notes
    • 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
    Open source →
  59. 0.0.40 28 Dec 2020
    Release notes
    • Exposed VideoPlayerValue in export
    • Fixed log issue
    • Added loadingColor and loadingWidget in BetterPlayerControlsConfiguration
    Open source →
  60. 0.0.39 27 Dec 2020
    Release notes
    • 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
    Open source →

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