-
Notifications
You must be signed in to change notification settings - Fork 42
Introduce EXT-X-SKIP support #130
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
Conversation
rmigneco
left a comment
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.
I think this is good and mostly some minor comments.
Question:
Sometimes media sequence numbers are published along with EXTINF tags, i.e.
#EXTINF:2.000,842920575
In this case we trust the server that those MS numbers correctly account for skipped segments and require no updating, right?
mambaSharedFramework/HLS Models/Playlist Structure/HLSPlaylistStructure.swift
Outdated
Show resolved
Hide resolved
mambaSharedFramework/Pantos-Generic HLS Playlist Parsing/PantosValue.swift
Show resolved
Hide resolved
I think that should be fine, because ultimately the application of the Playlist Delta Update is the responsibility of the server, and so if the server is publishing those media sequence numbers in the EXTINF titles, then it is also the responsibility of the server to keep those up to date after applying the EXT-X-SKIP. Anecdotally from when I made a POC for this, it should be fine for the server to manage this, as it's just filtering out information that it no longer needs to send to the client, but the information should all be already calculated. Long story short, I think that shouldn't pose any issues for us here. |
|
👍 |
Description
This PR introduces support for the EXT-X-SKIP tag.
The important addition as a result of supporting this tag (outside of what is already possible by users of the library creating a custom tag descriptor to support it) is that we now properly update the
mediaSequenceproperty when calculating eachMediaSegmentTagGroup. Before this change Mamba would provide incorrect values for eachmediaSequenceoccurring after anEXT-X-SKIPtag (which could break users of the library that receive a playlist delta update and rely on the library's media sequence calculations).Support for other playlist tags related the playlist delta updates (i.e. EXT-X-SERVER-CONTROL) will be done separately (in an attempt to keep this PR focused).
Change Notes
EXT_X_SKIP) to thePantosTagenum and made the necessary updates for theHLSTagDescriptorconformance.PantosValueto account for attributes related to EXT-X-SKIP (.skippedSegmentsand.recentlyRemovedDateranges).generateMediaGroupsforHLSPlaylistStructureto account for anySKIPPED-SEGMENTSwhen calculating media sequence values for segment tag groups.Pre-submission Checklist