Skip to content

v0.3.1 — MPEG-DASH, Adaptive Streaming & Custom Headers

Choose a tag to compare

@MrUjjwalG MrUjjwalG released this 09 Jun 20:12
· 7 commits to main since this release

Movi Player v0.3.1

Highlights

  • MPEG-DASH playback (.mpd) — closes #9
  • Unified adaptive streaming via Shaka — HLS / DASH / Smooth Streaming, with a live-edge LIVE badge + DVR-window seeking (hls.js / dash.js fallbacks)
  • Custom request headersheaders attribute/property applied across manifest, segments, progressive HTTP, thumbnails, and the encrypted source
  • Audio-only data-saver modeaudioonly skips the video decode and fetches an audio-only stream rendition
  • Non-range (no-Range) server playback — forward-only "linear mode" with in-window seeking + a linearmode event
  • MPEG-5 LCEVC — opt-in enhancement-layer decoding (lcevc / lcevcurl)
  • VS Code Extension — play HLS/DASH/Smooth manifest URLs directly in the player engine; .ts added to the open-file dialog
  • Chrome Extension — detect .mpd (DASH) URLs in the page scan

Changed

  • DRM key-system order: Widevine → PlayReady → FairPlay
  • Adaptive manifests load directly, never via the proxy (fixes relative-segment resolution + content-type allowlist)
  • Source-size resolution hardened for CDNs that strip Content-Length (HEAD → ranged GET → plain GET)
  • deps: add shaka-player ^4.11.2, dashjs ^5.2.0; bump hls.js to ^1.6.16

Fixed

  • Robust startup — blocked-autoplay play affordance, guarded first-play seek, background-tab autoplay deferred
  • No spurious wrapper errors mid-fallback; HTTP 403/404/5xx surface real messages
  • Wake lock: skip while hidden, retry transient failure, re-acquire on visible/resize
  • Don't collapse a loading/errored video into the audio strip on resize
  • Cover-art backdrop blur works in Safari < 17; audio-only poster renders as album art
  • App proxy: no same-origin self-fetch loop; no tiny-range magic-sniff

Links