Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When an interstitial has X-CUE="ONCE", the resume offset is ignored #6983

Open
5 tasks done
matvp91 opened this issue Jan 31, 2025 · 3 comments
Open
5 tasks done

When an interstitial has X-CUE="ONCE", the resume offset is ignored #6983

matvp91 opened this issue Jan 31, 2025 · 3 comments
Labels
Bug cannot reproduce Verify Fixed An unreleased bug fix has been merged and should be verified before closing.
Milestone

Comments

@matvp91
Copy link
Contributor

matvp91 commented Jan 31, 2025

What version of Hls.js are you using?

v1.6.0-beta.2

What browser (including version) are you using?

132.0.6834.111

What OS (including version) are you using?

macOS 15

Test stream

N/A

Configuration

{}

Additional player setup steps

No response

Checklist

Steps to reproduce

As per spec:

If the X-RESUME-OFFSET is not present, the player uses the duration of interstitial playback for the resume offset, which is appropriate for live
playback where playback is to be kept at a constant delay from the live edge, or for VOD playback where the HLS interstitial is intended to replace content in the primary asset.

I've simulated a live stream with primary content and short, linear, ad pods in between. For each ad pod, there is an interstitial scheduled for "ad replacement" purposes.

...

#EXTINF:2.24
https://cdn.superstreamer.xyz/package/435028e4-0d63-47f1-8f8f-21eefaf14917/hls/video_1080_4000000_h264/9.m4s
#EXT-X-DATERANGE:ID="1738309865524",CLASS="com.apple.hls.interstitial",START-DATE="2025-01-31T08:51:05.524+01:00",X-RESTRICT="SKIP,JUMP",X-ASSET-LIST="http://localhost:52002/out/asset-list.json?dt=2025-01-31T08%3A51%3A05.524%2B01%3A00&sid=56498c0e-4be7-450b-9281-dab88803392e&mdur=20",X-CONTENT-MAY-VARY="YES",X-TIMELINE-OCCUPIES="POINT",X-TIMELINE-STYLE="HIGHLIGHT",X-PLAYOUT-LIMIT=20

The interstitial above correctly respects the X-PLAYOUT-LIMIT offset but once we add X-CUE="once", the playout limit is no longer respected. For reference, I'll add your comment from a PM here: "the schedule is being updated to remove the interstitial and this is interfering with resumption offset".

Expected behaviour

Respect the resumption offset unrelated to X-CUE.

What actually happened?

The resumption offset is ignored.

Console output

N/A

Chrome media internals output

N/A
@matvp91 matvp91 added Bug Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Jan 31, 2025
@robwalch robwalch added this to the 1.6.0 milestone Jan 31, 2025
@robwalch robwalch added Confirmed Bug report confirmed or reproduced. and removed Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. labels Jan 31, 2025
@robwalch robwalch moved this to Top priorities in HLS.js Release Planning and Backlog Feb 1, 2025
@robwalch robwalch moved this to Todo in HLS.js Interstitials Feb 4, 2025
@robwalch robwalch moved this from Todo to In Progress in HLS.js Interstitials Feb 4, 2025
@robwalch
Copy link
Collaborator

robwalch commented Feb 4, 2025

Hi @matvp91,

X-CUE="once"

Did you mean "ONCE"? "X-CUE" was promoted to a first class EXT-X-DATERANGE attribute: "CUE" with Trigger Identifiers PRE, POST, and ONCE (all caps).

When you are reproducing this issue, at what point is the client joining the live stream: before or mid interstitial?

If joining before, what is the latency before and after interstitial playback?

I created a live stream with an interstitial matching these attributes and could not reproduce the issue in dev. The stream began with 6 seconds of latency and resumed with the same amount. The interstitial played for only 20 seconds of it's 37 second duration.

Have you tried latest dev? This looks like it was resolved with the fix for #6911:

@robwalch robwalch added cannot reproduce and removed Confirmed Bug report confirmed or reproduced. labels Feb 4, 2025
@matvp91 matvp91 changed the title When an interstitial has X-CUE="once", the resume offset is ignored When an interstitial has X-CUE="ONCE", the resume offset is ignored Feb 4, 2025
@matvp91
Copy link
Contributor Author

matvp91 commented Feb 4, 2025

I rely on beta 2 from npm, which does not include the PR above. I have yet to try the latest dev branch but very likely we caught this with #6911.

I'll have an answer for you next week.

@robwalch robwalch added the Verify Fixed An unreleased bug fix has been merged and should be verified before closing. label Feb 4, 2025
@robwalch
Copy link
Collaborator

robwalch commented Feb 7, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug cannot reproduce Verify Fixed An unreleased bug fix has been merged and should be verified before closing.
Projects
Status: In Progress
Development

No branches or pull requests

2 participants