Skip to content

Releases: FlutterPlaza/av_player

v0.4.0 — Pigeon Migration + Performance Features

21 Feb 04:26

Choose a tag to compare

Added

  • Pigeon migration — type-safe Dart-to-native communication for all 5 native platforms (Android, iOS, macOS, Windows, Linux)
  • Adaptive bitrate streaming (ABR) configuration API (setAbrConfig, AVAbrConfig, AVAbrInfoEvent)
  • Hardware decoder info query (getDecoderInfo, AVDecoderInfo)
  • Memory pressure monitoring with automatic quality reduction (AVMemoryPressureEvent, AVMemoryPressureLevel)
  • Android: ExoPlayer DefaultTrackSelector for ABR, MediaCodecList for decoder info, ComponentCallbacks2 for memory pressure
  • iOS: preferredPeakBitRate/preferredMaximumResolution for ABR, VideoToolbox for decoder info, memory warning observer
  • macOS: Same AVFoundation/VideoToolbox APIs as iOS, DispatchSource.makeMemoryPressureSource for memory pressure
  • Windows: D3D11VideoDevice for decoder info, CreateMemoryResourceNotification for memory pressure
  • Linux: /proc/meminfo polling for memory pressure
  • 22 new tests (334 total), all passing

Changed

  • All 5 native plugins now use Pigeon-generated AvPlayerHostApi interfaces instead of hand-written MethodChannel dispatch
  • Shared PigeonAvPlayer Dart adapter base class — platform implementations are thin wrappers
  • EventChannels preserved unchanged (Pigeon doesn't generate EventChannel code)

v0.3.0

16 Feb 07:13

Choose a tag to compare

Added

  • Full Windows platform implementation (stub)
  • 13 on-device integration tests (network, asset, file, PIP, playlist, volume, brightness, wakelock, multi-player)
  • 341 unit/widget tests covering controls, gestures, PIP overlay, and theming
  • CI workflow with coverage reporting (Codecov)
  • GIF demos in README for all major features

Fixed

  • macOS asset lookup bug — Bundle.main.path(forResource:) could not find Flutter assets in the nested App.framework; now constructs the correct path via Bundle.main.bundlePath + lookupKey
  • dispose() called during notifyListeners() in music player and playlist screens when track auto-advances
  • Broken Google CDN video URLs replaced with reliable alternatives

Changed

  • README updated with CI, coverage, pub points, and popularity badges
  • Consolidated CI workflows (ci.yaml merged into av_player.yaml)

v0.2.1

14 Feb 20:23

Choose a tag to compare

Added

  • Swift Package Manager (SPM) support for iOS and macOS
  • Both CocoaPods and SPM are supported simultaneously
  • Added SPM setup instructions to README

Fixed

  • macOS podspec version now stays in sync with the package version