flutter_cache_video_player 1.11.0 copy "flutter_cache_video_player: ^1.11.0" to clipboard
flutter_cache_video_player: ^1.11.0 copied to clipboard

A six-terminal universal audio and video player that caches while watching, supports multi-threaded download, breakpoint resumption, and LRU cache elimination.

Changelog #

1.11.0 - 2026-06-06 #

Features #

  • download: enhance download manager and worker pool with lazy loading and automatic worker reclamation (a13a5ce)

1.10.0 - 2026-06-04 #

Features #

  • add FlutterFramework dependency to Package.swift (8200d91)
  • signals: migrate to signals_flutter 7.x and refactor widgets for new API (6527f75)
  • video: add display rotation handling for Android SurfaceProducer and update video size reporting (8007c1f)

1.9.1 #

feat(signals): migrate to signals_flutter 7.x and refactor widgets for new API

  • Update dependencies to signals_flutter 7.x and signals_lint
  • Refactor CorePlayer and video_player to use SignalWidget and SignalBuilder
  • Replace deprecated Watch/Watch.builder usages with SignalBuilder
  • Update imports and analysis options for new signals_flutter structure

1.9.0 - 2026-05-05 #

Features #

  • proxy: enhance file reading logic to handle short reads and improve robustness (9624ceb)

1.8.0 - 2026-05-05 #

Features #

  • proxy: implement chunk prefetching to mitigate AVPlayer first-byte timeouts (d5a67dc)
  • video_player: implement theme extension for customizable video player styles (f1397a3)

1.7.0 - 2026-05-04 #

Features #

  • proxy: enhance chunk download handling and session management (fe6a6d9)
  • video_player: update cached progress handling (fe6a6d9)
  • 优化初始化。 (7376ac0)

Bug Fixes #

  • linux: prevent crash on uninitialized GL texture (fe6a6d9)
  • macos: correct playback event reporting (fe6a6d9)
  • player_scrubber: clarify cached progress terminology (fe6a6d9)
  • 修复Linux中运行失败的错误 (7376ac0)

1.6.1 - 2026-04-21 #

Bug Fixes #

1.6.0 - 2026-04-19 #

Features #

  • 优化示例项目,优化项目结构 (d29cb9f)

1.5.0 - 2026-04-18 #

Features #

  • Add FlutterCacheVideoPlayer.instance.getDuration(VideoSource, {timeout}) — accurately probe total media duration on all six platforms without creating a player texture or starting playback. Network sources are routed through the built-in caching proxy so probed bytes are reused by subsequent playNetwork calls. Desktop (libmpv) uses the same demuxer-lavf-probesize / analyzeduration knobs as the main player so tail-moov MP4s report correctly; iOS / macOS use AVURLAsset.loadValuesAsynchronously; Android uses MediaMetadataRetriever; Web uses an offscreen <video preload="metadata">. Failures / timeouts / live streams return null instead of throwing. (4fde81e)

1.4.0 - 2026-04-17 #

Features #

1.3.0 - 2026-04-17 #

Features #

  • Add playNetwork / playFile / playAsset / playSource entries on the controller for explicit per-source playback; local files and Flutter assets bypass the caching proxy. * Add controller.takeSnapshot() returning the current frame as a PNG XFile .

1.2.0 - 2026-04-17 #

Features #

1.1.0 - 2026-04-17 #

Features #

  • Add default video player (7a10716)

1.0.0 #

Initial release.

Features #

  • Stream-while-download playback with chunk-based caching
  • 6-platform support: Android (ExoPlayer), iOS (AVPlayer), macOS (AVPlayer), Linux (GStreamer), Windows (Media Foundation), Web (HTML5)
  • Multi-threaded downloading via Isolate-based worker pool (2 mobile / 4 desktop)
  • Resumable downloads with chunk bitmap tracking
  • LRU cache eviction with configurable max cache size (default 2 GB)
  • Local HTTP proxy server (shelf-based) for transparent cache serving
  • Priority download queue — seeking promotes target chunk to P0
  • Smart prefetching of upcoming chunks and playlist items
  • Playlist manager with shuffle, repeat, and index stream
  • Player controls: play, pause, seek, volume, speed
  • open() with resumeHistory parameter — optionally resume from last position (default: start from beginning)
  • Built-in UI widgets: VideoPlayerWidget, AudioPlayerWidget, PlaylistPanel, ProgressBar, CacheIndicator, SettingsSheet
  • Responsive layouts: mobile, tablet, and desktop adaptive scaffold
  • Theme support: light/dark themes with ThemeController
  • Playback history persistence via ToStore database
  • Configurable via CacheConfig (chunk size, worker count, prefetch count, retry policy, etc.)
  • Race condition protection in download worker pool cancel flow
  • Current media protection from LRU eviction during active download
  • Error state UI with retry support in VideoPlayerWidget
0
likes
140
points
53
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A six-terminal universal audio and video player that caches while watching, supports multi-threaded download, breakpoint resumption, and LRU cache elimination.

Homepage
Repository (GitHub)
View/report issues

License

Apache-2.0 (license)

Dependencies

breakpoint, connectivity_plus, cross_file, crypto, dio, flutter, flutter_web_plugins, path_provider, plugin_platform_interface, shelf, signals_flutter, tostore, universal_platform, web

More

Packages that depend on flutter_cache_video_player

Packages that implement flutter_cache_video_player