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

feat: add sidx information to segment base playlists #41

Merged
merged 20 commits into from
Apr 11, 2019
Merged

Conversation

ldayananda
Copy link
Contributor

@ldayananda ldayananda commented Nov 2, 2018

Attempted fix for videojs/http-streaming#162.

Status

This appears to be working on the issue source.

Changes proposed:

  • expose sidxMapping option on the parse method to allow modifying a complete master playlist with metadata from a parsed sidx box
  • attach a sidx property with byteRange references to manifest objects generated with SegmentBase. This applies to both video and audio playlists
  • replace media playlist segments with those generated from sidx.references when the sidxMapping option is given

Sources

{ 
  src: "https://dash.akamaized.net/dash264/TestCases/10a/1/iis_forest_short_poem_multi_lang_480p_single_adapt_aaclc_sidx.mpd",
  type: "application/dash+xml"
}

To do

  • additional testing
  • add unit tests

@ldayananda
Copy link
Contributor Author

ldayananda commented Nov 9, 2018

Requires #43 (merged)

@ldayananda
Copy link
Contributor Author

This appears to be working to some degree. Will do more testing next week.

@ldayananda ldayananda changed the title [WIP] fix: add sidx to the segment base playlists feat: add sidx information to segment base playlists Mar 11, 2019
@gkatsev
Copy link
Member

gkatsev commented Apr 8, 2019

This stream fails: http://yt-dash-mse-test.commondatastorage.googleapis.com/media/car-20120827-manifest.mpd, from http://dash-mse-test.appspot.com/media.html
Something about not being able to set discontinuity on a segment.

@gkatsev
Copy link
Member

gkatsev commented Apr 8, 2019

So, the youtube car stream has something that is potentially against the spec, it has two representations with the same id. Both Shaka and Youtube test player work.

Realized that if I do a null check they work fine.

Also, the two comments above should've been in the VHS repo.

@ldayananda
Copy link
Contributor Author

I think the null check makes sense since the playlist.segments would be empty on the first time through the parser for a sidx playlist because of this change

https://github.com/videojs/mpd-parser/pull/41/files#diff-09d49417dae2795e5eab7a01f6db04daR56

Though I'm surprised I didn't run into it earlier

src/toM3u8.js Outdated Show resolved Hide resolved
src/toPlaylists.js Outdated Show resolved Hide resolved
src/segment/segmentBase.js Show resolved Hide resolved
src/segment/segmentBase.js Show resolved Hide resolved
package.json Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants