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 multiple EXT-X-MAP tags #3312

Closed

Conversation

erkreutzer
Copy link
Contributor

This PR will...

Support multiple EXT-X-MAP tags (a slightly updated version of #2279)

Why is this Pull Request needed?

To fix #1990 and support playlists that have multiple EXT-X-MAP tags.

I've verified with some private streams and also using the demo stream from the original issue (~12 seconds time offset): https://storage.googleapis.com/gaetan/hls.js/master-fmp4-bug.m3u8

Are there any points in the code the reviewer needs to double check?

Per the old PR there was a comment regarding keeping the levelDetails.initSegment property up to date. I've addressed what I believe the feedback to be, but may have missed the intent of the comment.

Resolves issues:

#1990

Checklist

  • changes have been done against master branch, and PR does not conflict
  • new unit / functional tests have been added (whenever applicable)
  • API or design changes are documented in API.md

@robwalch robwalch added this to the 0.15.0 milestone Dec 17, 2020
@robwalch robwalch self-requested a review December 17, 2020 23:09
@robwalch robwalch added this to Top priorities in Release Planning and Backlog via automation Dec 17, 2020
@robwalch robwalch changed the base branch from master to patch/v0.15.x December 23, 2020 18:01
@Sylvain228
Copy link

Hello, here is a sliding window m3u8 which contains new EXT-X-MAP (so it includes 2) after every discontinuity (about every 3 to 4 minutes)
https://ireplay.tv/pausing/video.m3u8

@robwalch
Copy link
Collaborator

robwalch commented Mar 17, 2021

Hello, here is a sliding window m3u8 which contains new EXT-X-MAP (so it includes 2) after every discontinuity (about every 3 to 4 minutes)

Looks OK to me. Is it supposed to be video-only?
https://deploy-preview-3312--hls-js-dev.netlify.app/demo/?src=https%3A%2F%2Fireplay.tv%2Fpausing%2Fvideo.m3u8&demoConfig=eyJlbmFibGVTdHJlYW1pbmciOnRydWUsImF1dG9SZWNvdmVyRXJyb3IiOnRydWUsImR1bXBmTVA0IjpmYWxzZSwibGV2ZWxDYXBwaW5nIjotMSwibGltaXRNZXRyaWNzIjotMX0=

There is no planned release date for v0.15.0. I can merge this but would very much like to see the same/similar changes made and tested against master/latest v1 rc.

@Sylvain228
Copy link

Yes, this stream is video-only. Looking forward to having this fix in 1.0 to get fMP4 ad insertion support

@elv-peter
Copy link
Contributor

@robwalch @erkreutzer How to move this along? A new PR against master?

@robwalch
Copy link
Collaborator

Yes. This PR surpassed the earlier one against master, but 0.15 is on-hold indefinitely. Merging this and porting the changes to head would be a lot for me, especially while tackling regressions and responding to incoming issues.

A new PR against master@v1.0.1+ with sample streams would go a long way to getting this into an upcoming release sooner.

elv-peter added a commit to elv-peter/hls.js that referenced this pull request Apr 20, 2021
@elv-peter
Copy link
Contributor

elv-peter commented Apr 20, 2021

@robwalch Alright I've got something in progress here that seems to work so far here: https://github.com/elv-peter/hls.js/tree/v1.0.1/bugfix/multi-ext-x-map-init. I temporarily commented out some code that loads a SIDX URL. Do you know what SidxRequest stuff is intended to do? It seems like it only gets there if MP4 fragments are found without an init, which seems a little strange.

elv-peter added a commit to elv-peter/hls.js that referenced this pull request May 5, 2021
elv-peter added a commit to elv-peter/hls.js that referenced this pull request May 5, 2021
robwalch pushed a commit that referenced this pull request May 9, 2021
@robwalch robwalch moved this from Top priorities to Fixed in v1.0, Unreleased in v0.15 (on hold) in Release Planning and Backlog May 17, 2021
@elv-peter
Copy link
Contributor

Should be able to close this now

@robwalch robwalch closed this Dec 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Broken playback with multiple EXT-X-MAP in fmp4 HLS.
4 participants