Even though X-PRELOAD-HINT is supported by the Pipeline, the default setup of Vidstack does not exercise any of the preload hint code. This change will prevent stalls by moving the parsing of manifests and connection negotiation for new segments out of the 'critical path' of requesting new segments from the network.
Here is a demo showing the difference between Vidstack's default implementation and Vidstack with the feature/preload_hint branch of HLS.js. You'll notice in the waterfall for the new version that requests for partial segments are held open until the segment is ready, instead of waiting to parse the new manifest before requesting the segment.
This PR vendors and activates (via Vidstack) the feature/preload-hint branch of HLS.js that implements
X-PRELOAD-HINT
.Even though
X-PRELOAD-HINT
is supported by the Pipeline, the default setup of Vidstack does not exercise any of the preload hint code. This change will prevent stalls by moving the parsing of manifests and connection negotiation for new segments out of the 'critical path' of requesting new segments from the network.Here is a demo showing the difference between Vidstack's default implementation and Vidstack with the
feature/preload_hint
branch of HLS.js. You'll notice in the waterfall for the new version that requests for partial segments are held open until the segment is ready, instead of waiting to parse the new manifest before requesting the segment.Screencast from 2024-09-16 17-21-36.webm
/claim #91