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

Add support for EXT-X-GAP #1308

Closed
avelad opened this issue Feb 19, 2018 · 12 comments · Fixed by #4208 or #4235
Closed

Add support for EXT-X-GAP #1308

avelad opened this issue Feb 19, 2018 · 12 comments · Fixed by #4208 or #4235
Labels
component: HLS The issue involves Apple's HLS manifest format priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated type: enhancement New feature or request
Milestone

Comments

@avelad
Copy link
Collaborator

avelad commented Feb 19, 2018

Is it possible add support to EXT-X-GAP?

https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis#section-4.4.4.7

The EXT-X-GAP tag indicates that the segment URL to which it applies does not contain media data and SHOULD NOT be loaded by clients. It applies only to the next Media Segment.

@ismena
Copy link
Contributor

ismena commented Feb 20, 2018

Hi, thanks for the request. Let's summon The Shaka Mastermind and hear his verdict :)
@joeyparrish

In the meantime, could you please describe the use case for EXT-X-GAP in more detail. Do you have it in LIVE streams or VOD? When and why does this happen?

@joeyparrish joeyparrish added this to the Backlog milestone Feb 20, 2018
@joeyparrish joeyparrish added the type: enhancement New feature or request label Feb 20, 2018
@joeyparrish
Copy link
Member

Sounds reasonable. Thanks!

@avelad
Copy link
Collaborator Author

avelad commented Feb 21, 2018

You can find more info in:
https://devstreaming-cdn.apple.com/videos/wwdc/2017/504op4c3001w2f222/504/504_advances_in_http_live_streaming.pdf?dl=1

The use case of EXT-X-GAP in our case is skip some segment if the enconder is not enough powerful (in Live and Event playlist)

@joeyparrish joeyparrish modified the milestones: Backlog, v2.5 Mar 4, 2018
@joeyparrish joeyparrish moved this from To do to Blocked in Tracks & manifest refactor Mar 6, 2018
@joeyparrish joeyparrish modified the milestones: v2.5, Backlog Jul 9, 2018
@joeyparrish joeyparrish modified the milestones: Backlog, Backlog 2 Jan 28, 2020
@mariocynicys
Copy link
Contributor

@joeyparrish @michellezhuogg
popping this issue back up.

@ningl2
Copy link

ningl2 commented Sep 3, 2021

@joeyparrish what is the status of EXT-X-GAP support in Shaka? How does Shaka deal with mismatched discontinuities from audio/video tracks signaled by EXT-X-DISCONTINUITY otherwise?

@michellezhuogg
Copy link
Contributor

Hello @ningl2 ,

It's not implemented in Shaka Player yet. We welcome contributions from the community! Thank you!

@mariocynicys
Copy link
Contributor

@ningl2 Do you mean that an EXT-X-DISCONTINUITY might cause tracks miss-alignment. If so, why would that happen, and how does an EXT-X-GAP fix this miss-alignment?

@ningl2
Copy link

ningl2 commented Sep 7, 2021

Sorry I wasn't clear. Sometimes a contribution feed may be missing parts of audio or video at different times in the stream. HLS spec requires that all EXT-X-DISCONTINUITY tags are aligned across all renditions and variants. This means that we are forced to drop audio/video if the other track is missing data. The fix for this, the suggestion from Apple is to use EXT-X-GAP in this situation, but looks like there's no good support for this tag in Shaka (or other players for that matter).

@joeyparrish joeyparrish removed this from Blocked in Tracks & manifest refactor Sep 13, 2021
@joeyparrish joeyparrish added this to In progress in HLS Improvements Sep 13, 2021
@joeyparrish joeyparrish moved this from In progress to To do in HLS Improvements Sep 13, 2021
@joeyparrish joeyparrish added priority: P2 Smaller impact or easy workaround and removed consider for next roadmap planning labels Sep 27, 2021
@CermakM
Copy link

CermakM commented Jan 5, 2022

Any progress with this?

@joeyparrish
Copy link
Member

Not that I'm aware of. None from the core team, and I haven't seen any PRs from the community, either.

We're short-staffed right now (one full-time engineer, two part-time), so I don't foresee the core team getting to this soon. We apologize for the inconvenience. In the meantime, PRs are always welcome. Thanks!

@CermakM
Copy link

CermakM commented Jan 6, 2022

Understood, thanks for the prompt response. Is there any way you could estimate how long would the implementation take? (considering a core member that is familiar with the project). We might consider contributing, it'd be useful tho to have a rough idea about time requirements. Cheers!

@avelad
Copy link
Collaborator Author

avelad commented Jan 24, 2022

It seems that Chromium is working on having a native HLS on the platform(https://bugs.chromium.org/p/chromium/issues/detail?id=1266991), and will also support this functionality (https://chromium-review.googlesource.com/c/chromium/src/+/3382254).

joeyparrish pushed a commit that referenced this issue Apr 18, 2022
Parse EXT-X-GAP HLS tag and add a status enum to shaka.media.SegmentReference.

shaka.media.SegmentReference.Status.AVAILABLE --> Normal behaviour
shaka.media.SegmentReference.Status. UNAVAILABLE --> Related to #2541
shaka.media.SegmentReference.Status. MISSING --> EXT-X-GAP in HLS

Note: only the parsing is added, but the functionality is not yet implemented.

Issue #1308
@avelad avelad added the component: HLS The issue involves Apple's HLS manifest format label May 3, 2022
@avelad avelad modified the milestones: v3.3, v4.1 May 4, 2022
joeyparrish pushed a commit that referenced this issue May 10, 2022
@avelad avelad moved this from To do to Done in HLS Improvements May 11, 2022
@github-actions github-actions bot added the status: archived Archived and locked; will not be updated label Jul 9, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 9, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
component: HLS The issue involves Apple's HLS manifest format priority: P2 Smaller impact or easy workaround status: archived Archived and locked; will not be updated type: enhancement New feature or request
7 participants