mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
The live-vs-complete decision was being re-derived in three places from `metadata.endList`, which diverges from how the parser itself computes completeness (`endList || PLAYLIST-TYPE:VOD`) — and the parser already bakes that result into `Track.duration` (finite EXTINF sum when complete, Infinity while it can still grow). So read that instead of re-deriving: - resolveDuration default reverts to `getResolvedSelectedTrackDuration` (returns `Track.duration`, already Infinity for live by construction). Drops the redundant `resolveSelectedTrackDuration`, which also keyed off `endList` alone and thus wrongly returned Infinity for a complete PLAYLIST-TYPE:VOD playlist lacking #EXT-X-ENDLIST. - end-of-stream and seek-to-live-edge guards switch from `metadata.endList` to `Number.isFinite(track.duration)`. Net: `Presentation.duration === Track.duration` by construction, and all three behaviors share the parser's one completeness predicate. Removes code. Full spf suite green (1070 passed). 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: