zeroratehls 1.0.11 copy "zeroratehls: ^1.0.11" to clipboard
zeroratehls: ^1.0.11 copied to clipboard

A comprehensive Flutter SDK for seamless HLS (HTTP Live Streaming) video playback. This package provides a robust, feature-rich player with advanced capabilities including adaptive bitrate streaming, [...]

1.0.11 - 2026-06-25 #

Added #

  • Added media_kit-backed live audio playback for MediaType.audio + StreamType.live, keeping just_audio available for on-demand audio use cases.
  • Added foreground resume handling for live streams so package-paused radio and Live TV playback reconnects to the live source when the app returns from background.
  • Added ABR proxy retry tolerance for temporarily missing or not-yet-fetchable live segments, helping playback keep buffering through transcoder chunk gaps without replaying older live chunks. The SDK now also surfaces that proxy wait state as buffering so the player does not appear frozen, and treats live-video completion from an exhausted playlist as recoverable instead of terminal.
  • Added playback intent callbacks from the default video controls so user-requested play/pause state is preserved separately from platform/background pauses.
  • Added AudioControlsConfiguration.controlsPadding for tighter embedding of custom audio player surfaces.

Changed #

  • Live audio state, buffering, volume, speed, and seeking now read from media_kit when the player is using libmpv-backed live audio.
  • Audio controls now support both just_audio and media_kit player instances, including play/pause, seek, volume, and speed controls.
  • Foreground resume now reopens live media_kit streams instead of only calling play, helping live playback recover at the current live edge after app backgrounding.
  • enableStreamAvailabilityCheck now defaults to false so weak network startup failures do not get misreported as offline streams. Apps should prefer backend stream availability status for user-facing unavailable UI.

Fixed #

  • Fixed live audio streams failing on ExoPlayer/just_audio HLS chunk timeouts by routing live audio through media_kit.
  • Fixed LateInitializationError caused by the audio player being accessed before initialization.
  • Fixed live video and audio streams staying paused after app resume when PiP is unavailable or not active.
  • Fixed custom audio surfaces receiving unwanted default padding.

1.0.10 - 2026-06-16 #

Added #

  • Added default-on HLS adaptive bitrate playback through a Dart local ABR proxy:
    • Auto quality mode serves a stable local playlist to media_kit.
    • Segment requests dynamically select variants using throughput EMA and buffer level.
    • Manual quality selection locks playback to that variant without reopening the player.
    • maxResolutionHeight caps the ABR ladder, so app-level 720p caps are respected.
    • AES key and init-map URI rewriting is supported for proxied playlists.
  • Added per-player PictureInPictureBehavior configuration so apps can choose:
    • autoOnAppLeave
    • fullscreenOnly
    • manualOnly
    • disabled
  • Added a built-in LIVE edge action to the default live video controls so paused/live-delayed streams can jump back to the current live position.
  • Added streamUnavailable event reporting for autoplay HLS streams that load playlists but do not produce playable media segments during startup.

Changed #

  • Auto-discovered HLS playback now uses ABR by default unless enableAdaptiveBitrate is disabled or manual resolutions are provided.
  • Picture-in-Picture policy is now configurable per player instance instead of always auto-entering on app leave.
  • fullscreenOnly players now expose PiP only while actually fullscreen and only auto-enter PiP from fullscreen playback.

Fixed #

  • Fixed the default video controls buffering spinner staying visible until the user tapped the player after playback had already resumed.
  • Fixed Android auto-PiP state leaking across screens after a player was cleared or disposed.
  • Fixed browse-first playback surfaces being forced into auto-PiP when apps want PiP only on watch-first player experiences.

1.0.9 - 2026-06-15 #

Added #

  • Added package-owned Android and iOS Now Playing support with runtime metadata updates.
  • Added Android media notifications and reliable PiP dismissal reporting.
  • Added iOS remote play, pause, and on-demand seek command forwarding.

Changed #

  • Multiple configured players now use a single active system-session owner; ownership transfer pauses the previous player.
  • Backgrounding without PiP and dismissing PiP now clear the system media session immediately.

1.0.8 - 2026-06-04 #

Added #

  • Added HlsPlaybackConfig for HLS-specific playback tuning:
    • enableAutoQualityDiscovery
    • maxResolutionHeight
    • bufferSizeBytes
    • networkTimeoutSeconds
    • showQualitySelectorWhenSingleOption
  • Added automatic HLS master manifest parsing when manual resolutions are not provided.
  • Added VideoQualityOption and exposed quality state/actions to custom UI through VideoControlsData:
    • availableQualities
    • currentQuality
    • selectQuality(...)
    • showQualitySelector(context)
  • Added generic video UI extension points for SDK consumers:
    • customControlsBuilder
    • overlayBuilder
  • Added overlay/control coordination helpers in VideoControlsData:
    • overlayPadding
    • restartVisibilityTimer()
    • showControls()
    • hideControls()
    • setControlsPinned(bool)
  • Added fullscreen pinch-to-fill / stretch-to-fit support for video playback.

Changed #

  • Video playback now respects useDefaultControls and supports mixing SDK controls with custom overlays.
  • Default quality selection now uses either:
    • manual videoControlsConfig.resolutions, or
    • auto-discovered HLS variants from the master manifest.
  • When maxResolutionHeight is set, the SDK resolves the capped child HLS variant before first open so playback starts once on the selected rendition without a post-start reopen.
  • When no startup cap is set, playback opens immediately and HLS quality discovery runs in the background.
  • Raised the SDK's default HLS manifest/network timeout handling from the previous 5s native default to 15s when no explicit timeout is provided.
  • Live quality selection is now SDK-logic-owned but app-placement-friendly through VideoControlsData.showQualitySelector(context).

Fixed #

  • Fixed protected-stream header handling to use SDK auth options instead of hardcoded runtime values.
  • Fixed placeholder/poster rendering for video playback and placeholder layering with placeholderOnTop.
  • Fixed audio useDefaultControls so disabling default audio controls now works correctly.
  • Fixed Android native crashes caused by setting network-timeout before native player initialization was ready.
  • Fixed video controller initialization not rebuilding the widget immediately, which could leave mini-players stuck on poster/loading UI.
  • Fixed live/fullscreen controls visibility synchronization across inline and fullscreen entry paths.
  • Fixed fullscreen pinch/stretch viewport updates to target the active fullscreen route state correctly.
  • Fixed HLS quality discovery reopening live streams after startup, which caused unstable loading loops in some live app flows.

1.0.7 - 2025-09-22 #

Changed #

  • Renamed iOS podspec from flutterhls to zeroratehls
  • Increased iOS minimum deployment target to 14.0

Fixed #

  • Fixed CocoaPods integration issues

1.0.6 - 2025-09-21 #

Changed #

  • Bump ffmpeg version number

1.0.5 - 2025-06-30 #

Fixed #

  • Improved custom controls visibility logic for better user experience
  • Fixed minimal custom controls display on Linux platform
  • General bug fixes and stability improvements

1.0.4 - 2025-06-11 #

Added #

  • Linux support: Full video and audio playback support for Linux platforms
  • Cross-platform SDK initialization with ZerorateHlsSDK.initialize()
  • Hardware-accelerated video rendering on Linux
  • TV platform optimization for Linux deployments

1.0.3 - 2025-05-13 #

Changed #

  • migrate from discontinued packages

1.0.2 - 2025-03-14 #

Changed #

  • Updated README to clarify that contributions are not accepted and to provide guidance for inquiries.
1
likes
130
points
284
downloads

Documentation

API reference

Publisher

verified publishersoa.live

Weekly Downloads

A comprehensive Flutter SDK for seamless HLS (HTTP Live Streaming) video playback. This package provides a robust, feature-rich player with advanced capabilities including adaptive bitrate streaming, seek preview, custom controls, subtitle support, picture-in-picture mode, and quality selection.

Homepage

License

BSD-3-Clause (license)

Dependencies

better_player_plus, device_info_plus, ffmpeg_kit_flutter_new, flutter, gif_view, just_audio, media_kit, media_kit_libs_video, media_kit_video, package_info_plus, path_provider, plugin_platform_interface

More

Packages that depend on zeroratehls

Packages that implement zeroratehls