Skip to content

[DRAFT] Implemented time range skipping - #7966

Closed
krseager wants to merge 2 commits into
video-dev:masterfrom
krseager:time-range-skip-poc
Closed

[DRAFT] Implemented time range skipping#7966
krseager wants to merge 2 commits into
video-dev:masterfrom
krseager:time-range-skip-poc

Conversation

@krseager

@krseager krseager commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

This PR will...

Why is this Pull Request needed?

Implements a feature to enable HLS.js to expose an API to ignore buffering certain time ranges and a config value to specify a tolerance for excluding segments that have start/end times near one of these ranges. Defaults to 0.1 seconds.

The application provides a list of start and end times. This could represent movie/tv show intro, already watched ad breaks, end credits, etc. it can also be used for when a user seeks past an ad break, but the application forces the user to watch the ad, then seeks back to the requested playback position.

This significantly cuts down on the amount of buffering the user would see when seeking these time ranges, as we’re able to load media further ahead of the playhead position.

Are there any points in the code the reviewer needs to double check?

Resolves issues:

Depending on feedback, I will create an issue for this.

Checklist

  • changes have been done against master branch, and PR does not conflict
  • new unit / functional tests have been added (whenever applicable)
  • API or design changes are documented in API.md

@robwalch

robwalch commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

I'm not interested in taking +1,995 -22 change for this as a feature. Once we land Client-side Interstitials API you could insert an interstitial with a resumption offset that doesn't have a resolving asset. The failure would skip over the interstitial range for both buffering and playback. The interstitialsManager would give you the visibility you want into buffer length and timeline, excluding ranges.

If this is something you'd be interested in, we could look at ensuring support for "empty" interstitials.

@krseager krseager closed this Aug 6, 2026
@robwalch robwalch added the Revisit-at-later-release-cycle Will revisit during release cycle indicated by the Milestone label Aug 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Revisit-at-later-release-cycle Will revisit during release cycle indicated by the Milestone

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants