-
Notifications
You must be signed in to change notification settings - Fork 425
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
fix: Linear DASH multiperiod label issue #1352
Conversation
💖 Thanks for opening this pull request! 💖 Things that will help get your PR across the finish line:
We get a lot of pull requests on this repo, so please be patient and we will get back to you as soon as we can. |
Codecov Report
@@ Coverage Diff @@
## main #1352 +/- ##
=======================================
Coverage ? 86.01%
=======================================
Files ? 40
Lines ? 9842
Branches ? 2294
=======================================
Hits ? 8466
Misses ? 1376
Partials ? 0
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
src/dash-playlist-loader.js
Outdated
* The new mpd object | ||
*/ | ||
const removeOldMediaGroupLabels = (update, newMain) => { | ||
forEachMediaGroup(update, (_, type, group, label) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we change _
to properties
to be consistent with other forEachMediaGroup()
calls in this file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good call, I have an old lint-driven habit of using _
for any unused parameters. Consistency > arbitrary lint rules
IMO.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Just have that one optional change.
Congrats on merging your first pull request! 🎉🎉🎉 |
Description
Fixes Linear DASH SSAI Label Issue
Linear multi-period DASH with
<Label>
elements that roll in and out of continuousAdaptationSet
s cause the stream to stall because we use the value of the<Label>
as the key for themediaGroups.type.group.<labelKey>
object and the associated mediaGroup group/playlist ID. When the manifest updates and reaches the period either with a<Label>
or omitting the<Label>
we can no longer access that media group or playlists to update the playlist as we rely on the labelKey set from the previous manifest/period to look for new segments in the update.Specific Changes proposed
labelKey
to themediaGroups.type.group
object and add the playlist reference.labelKey
s from themediaGroups.type.group
object that no longer exist in the new manifest update.Requirements Checklist