Skip to main content

flutter_feed_player 0.1.6 copy "flutter_feed_player: ^0.1.6" to clipboard
flutter_feed_player: ^0.1.6 copied to clipboard

Vertical short-video feed and series episode player for Flutter with park/promote preloading. No backend required.

0.1.6 #

  • Episode quality: the top bar shows the current rendition and opens showEpisodeQualitySheet when more than one option exists. EpisodePlayerController.setQuality reloads the active episode at the same playhead (and keeps play / pause) and drops parked neighbors so the next swipe uses the same quality. Default quality is 720p.
  • Options come from labeled EpisodeAssets (Auto plus two or more qualities). A single progressive URL hides the control. Convertible HLS (/master.m3u8 or /v{height}/index.m3u8) without an explicit ladder offers Auto, 1080p, 720p, 480p, and 360p.
  • Auto prefers playUrl and normalizes convertible HLS to master.m3u8. A named quality uses the matching asset, or rewrites convertible HLS to /v{height}/index.m3u8. Variant playlists stay locked and are not rewritten back to master. Park / promote reuse is same-quality only.
  • Seek bar: the uninitialized loading beam is one pixel thinner than the playback track.
  • Add a pub.dev screenshot of the vertical feed (screenshots/feed_player.jpg).
  • Replace the flutter topic with media.

0.1.5 #

  • Seek bar: before the player is initialized, the track shows a center-out loading beam (ease-out expand for ~70% of a 700ms loop, then fade).
  • Buffering spinners (feed, episode, pull-to-refresh) use solid white.
  • Center play/pause is a plain icon (no circular splash). It stays hidden until the first video frame, so it does not sit on the spinner.
  • Episode: showCenterPause stays off when a swipe or entry auto-starts playback. The first tap while playing reveals the pause button; a later tap hides chrome. showCenterPlay is still the paused-state play glyph.

0.1.4 #

  • Add autoAdvanceOnEnd on FeedPlayerController / EpisodePlayerController (default true): when a clip ends, animate to the next item (load-more if needed). Effective looping is loopClips && !autoAdvanceOnEnd.
  • Add setAutoAdvanceOnEnd / keep setLoopClips; feed exposes effectiveLoopClips.
  • Detect end-of-playback via VideoPlayerValue.isCompleted (plus near-end fallback) so auto-advance is not missed while isPlaying is 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: PlayerSeekBar shimmer, thumb, scrub time label; chrome hides meta / side actions while scrubbing (onScrubbingChanged on seek bar and bottom chrome).
  • Feed chrome: optional onMore on FeedPlayer / FeedPlayerChrome / FeedSideActions.
  • Example: grouped player param panel with loop ↔ auto-advance mutual exclusion and related l10n.

0.1.3 #

  • Add MediaFormat for URL / assetType detection, chrome badges, and platform support checks (isSupportedOnCurrentPlatform, unsupportedReason).
  • Expand format labels beyond HLS/MP4: WebM, MOV, M4V, DASH (and SS).
  • PlayerFactory.create plays network, Flutter asset (asset://… / assets/…), and local file: URLs; adds formatHintForUrl for HLS / DASH / SS.
  • Models expose isDash alongside isHls / 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_player lower bound to ^2.10.0 (requires VideoViewType).
  • Require Flutter >=3.27.0 to match video_player 2.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 / EpisodePlayer remain 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).
1
likes
0
points
700
downloads

Publisher

unverified uploader

Weekly Downloads

Vertical short-video feed and series episode player for Flutter with park/promote preloading. No backend required.

Repository (GitHub)
View/report issues

Topics

#video #player #feed #short-video #media

License

unknown (license)

Dependencies

flutter, video_player

More

Packages that depend on flutter_feed_player