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

DASH: Now handle endNumber DASH attribute #1186

Merged
merged 6 commits into from Dec 8, 2022
Merged

Conversation

peaBerberian
Copy link
Collaborator

This commit adds handling of the endNumber attribute found on some DASH contents, which is the number the last segment should have.

We decided to add it after seeing it used in the wild, most notably by some of Canal+ partners.
Without it, there might be issues if the duration announced on the corresponding Period or MPD lead the RxPlayer to believe that there's one more segment that there actually is.

This attribute is only present in newer 2019+ DASH specifications we funnily enough did not have access to until now. It was not in the latest DASH-IF specification neither.


The endNumber attribute creates however an ambiguity: What should we do if a <SegmentTimeline> declares $Number$-based segments which should be impossible under endNumber rules? For now, I chose to rely on the highest constraints: whichever lead to the less segments.

This commit adds handling of the `endNumber` attribute found on some DASH
contents, which is the number the last segment should have.

We decided to add it after seeing it used in the wild, most notably by
some of Canal+ partners.

This attribute is only present in newer 2019+ DASH specifications we
funnily enough did not have access to until now. It was not in the latest
DASH-IF specification neither.
@peaBerberian peaBerberian added the DASH Relative to the DASH streaming protocol label Nov 29, 2022
@peaBerberian peaBerberian added this to the 3.30.0 milestone Nov 30, 2022
@peaBerberian peaBerberian force-pushed the feat/endnumber branch 3 times, most recently from b339974 to 65eb57c Compare December 6, 2022 14:25
@peaBerberian peaBerberian merged commit 466b5e3 into next Dec 8, 2022
peaBerberian added a commit that referenced this pull request Dec 8, 2022
DASH: Now handle `endNumber` DASH attribute
peaBerberian added a commit that referenced this pull request Dec 15, 2022
DASH: Now handle `endNumber` DASH attribute
peaBerberian added a commit that referenced this pull request Dec 21, 2022
DASH: Now handle `endNumber` DASH attribute
peaBerberian added a commit that referenced this pull request Jan 31, 2023
DASH: Now handle `endNumber` DASH attribute
peaBerberian added a commit that referenced this pull request Feb 8, 2023
DASH: Now handle `endNumber` DASH attribute
peaBerberian added a commit that referenced this pull request Feb 9, 2023
DASH: Now handle `endNumber` DASH attribute
@peaBerberian peaBerberian mentioned this pull request Feb 21, 2023
@peaBerberian peaBerberian mentioned this pull request Jun 13, 2023
@peaBerberian peaBerberian deleted the feat/endnumber branch July 6, 2023 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DASH Relative to the DASH streaming protocol
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant