m3u8-parser icon indicating copy to clipboard operation
m3u8-parser copied to clipboard

#EXT-X-DATERANGE limited to 1 per media segment

Open NFLjmarkarian opened this issue 3 years ago • 2 comments

First off, great library, it's very useful!

I have an issue where I need to add multiple dateRange objects within a playlist. (For simplicity, let's say it's an example where I have 1 media segment that is 10 seconds long, and I want to fire timed meta data at the 0 second mark and the 5 second mark).

Currently, there is no way to do this, as dateRange is a single attribute of MediaSegmentBuilder. I am only able to associate 1 dateRange object with 1 Media Segment.

According to the spec, I think dateRange should not be an attribute of MediaSegmentBuilder, but instead, MediaPlaylist.Builder and should be a collection: https://datatracker.ietf.org/doc/html/rfc8216#section-4.3.2.7

Alternatively, I considered two other solutions:

  1. Change the dateRange attribute on MediaSegmentBuilder to be a collection or
  2. Allow the creation of Media Segments without a duration/uri (which is currently required), and create Media Segment containers that are essentially empty except for 1 date range attribute.

What are your thoughts?

NFLjmarkarian avatar Jun 21 '21 21:06 NFLjmarkarian

Hi!

Thank you for your feedback. I haven't really used that tag myself but if you think it make sense to have multiple tags for a single segment, let's do it! :)

EXT-X-DATERANGE is defined under "4.3.2 Media Segment Tags", why do you think that it it's better to store it in MediaPlaylist.Builder?

I think I want to go with option 1 (change it to a collection), but add methods to keep backwards compatibility. Not sure if I understand option 2 though...

Cheers, Anton

carlanton avatar Aug 21 '21 12:08 carlanton

@carlanton Thank you for making this library. Have been very useful. Even I have this requirement where I need to add multiple date range. Having a collection for date range would be much better. Any plans on it? @NFLjmarkarian how did you do it?

wishygupta avatar Aug 23 '22 10:08 wishygupta