mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
For live, presentation.duration is Infinity as soon as the presentation resolves — before any segment appends. updateMediaSourceDuration is composed before the buffer actors, so its entry runs while the MediaSource is freshly open and empty: write Infinity synchronously there (no buffered clamp needed, Infinity ≥ any range). This gets ahead of the first append, which would otherwise set duration to the buffered end (MSE coded-frame-processing) and pin the live stream to a finite, live-edge duration — the async wait-for-idle path loses that race because a live loader appends continuously. VoD keeps the existing wait-open/idle + clamp + write-once-while-NaN path. Verified against a live Mux CMAF stream: mediaSource.duration is Infinity from the start, no finite transient. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@videojs/spf
⚠️ Beta Experimental adoption in real projects.
Overview
@videojs/spf is a lightweight, bundle-size-optimized streaming engine for Video.js 10. It provides
HLS playback with adaptive bitrate switching, WebVTT captions, and MSE support.
Community
If you need help with anything related to Video.js 10, or if you'd like to casually chat with other members: