-
Notifications
You must be signed in to change notification settings - Fork 433
Open
Description
Summary
When playing an HLS stream without a master playlist (i.e., a single .m3u8 media playlist directly referenced as the source), the vhs.maxPlaylistRetries option does not limit playlist reload attempts as expected.
The player keeps retrying indefinitely instead of stopping after the configured number of retries.
Environment
- Player: Video.js (with VHS)
- VHS version: [email protected]
- Video.js version: [email protected]
- (tested on) Browser: Chrome v141
- Source type: Single
.m3u8HLS media playlist (no master playlist) e.g., https://d305rncpy6ne2q.cloudfront.net/v1/manifest/94063eadf7d8c56e9e2edd84fdf897826a70d0df/SFP-MediaTailor-Live-HLS-Overlays/5e8170db-6fab-4d67-8b6e-825f9161ca30/0.m3u8
Steps to reproduce
- Initialize a Video.js player with a link to a single HLS media playlist (no master playlist) as a source:
const player = videojs('video', {
vhs: {
maxPlaylistRetries: 3
}
});
player.src({
src: 'https://example.com/media.m3u8',
type: 'application/x-mpegURL'
});- Simulate a playlist fetch error (e.g., make the .m3u8 unavailable or switch to Offline in
devtools>Network>throttling) - Observe player network activity and logs
Expected behavior
- The playlist should retry loading up to
maxPlaylistRetriestimes (in this example, 3 retries) - After exceeding the limit, playback should stop, trigger a player error event, and not retry indefinitely
Actual behavior
- the player retries indefinitely
maxPlaylistRetriesappears to be ignored or not applied- In contrast, when a master playlist with multiple variants is used, the retry limit works correctly (after exceeding the limit, the variant is excluded and playback errors out)
Metadata
Metadata
Assignees
Labels
No labels