flutter_feed_player 0.1.4
flutter_feed_player: ^0.1.4 copied to clipboard
Vertical short-video feed and series episode player for Flutter with park/promote preloading. No backend required.
0.1.4 #
- Add
autoAdvanceOnEndonFeedPlayerController/EpisodePlayerController(defaulttrue): when a clip ends, animate to the next item (load-more if needed). Effective looping isloopClips && !autoAdvanceOnEnd. - Add
setAutoAdvanceOnEnd/ keepsetLoopClips; feed exposeseffectiveLoopClips. - Detect end-of-playback via
VideoPlayerValue.isCompleted(plus near-end fallback) so auto-advance is not missed whileisPlayingis briefly true. - Soft cold-start hint (
showLoadingPrompt) no longer opens the retry page; it only shows under the buffering spinner. Retry overlay is for hard errors / timeout only. Soft prompt arms after attach to avoid flashing on slow HLS. - Seek UX:
PlayerSeekBarshimmer, thumb, scrub time label; chrome hides meta / side actions while scrubbing (onScrubbingChangedon seek bar and bottom chrome). - Feed chrome: optional
onMoreonFeedPlayer/FeedPlayerChrome/FeedSideActions. - Example: grouped player param panel with loop ↔ auto-advance mutual exclusion and related l10n.
0.1.3 #
- Add
MediaFormatfor URL /assetTypedetection, chrome badges, and platform support checks (isSupportedOnCurrentPlatform,unsupportedReason). - Expand format labels beyond HLS/MP4: WebM, MOV, M4V, DASH (and SS).
PlayerFactory.createplays network, Flutter asset (asset://…/assets/…), and localfile:URLs; addsformatHintForUrlfor HLS / DASH / SS.- Models expose
isDashalongsideisHls/formatLabel. - Stop injecting a default custom User-Agent (avoids CDN + Range conflicts);
hosts can still set headers via
HttpHeadersProvider. - Example: multi-format showcase (MP4 / HLS / MOV / M4V / WebM / DASH) with
platform-aware filters and bundled
assets/videos/samples.
0.1.2 #
- Raise
video_playerlower bound to^2.10.0(requiresVideoViewType). - Require Flutter
>=3.27.0to matchvideo_player2.10.0. - Shorten package description for pub.dev (60–180 characters).
0.1.1 #
- Separate player core from UI components.
- Add
FeedPlayerView/EpisodePlayerView(surface + gestures only). - Extract default chrome into public widgets (
FeedPlayerChrome,EpisodePlayerChrome, and building blocks). FeedPlayer/EpisodePlayerremain convenience wrappers (view + default chrome).- Customize via
overlayBuilder, or compose chrome pieces freely. - Playback UX: cold-start watchdog, retry overlay, forward-swipe lock while first frame is loading, eager next-item warm on forward drag intent.
- Feed clips can loop (
loopClips). - Models expose
isHls/formatLabel; chrome can show a format badge. - Example: MP4 / M3U8 grouped showcase with free public sample streams (Mux, Apple HLS examples, Unified Streaming, Flutter docs MP4).
0.1.0 #
- Initial release.
FeedPlayer— vertical short-video feed with park/promote preloading.EpisodePlayer— vertical series episode binge player with adjacent warm-up.- Injectable data models and mock-friendly APIs (no network client included).