sethdeckard/m3u8

#EXT-X-PROGRAM-DATE-TIME missing?

Opened this issue · 1 comments

jkeen commented

date = "#{program_date_time}\n" unless program_date_time.nil?

It looks like when this gets rendered it's missing the #EXT-X-PROGRAM-DATE-TIME, only rendering the time. I'm not sure if this was an intentional design decision or a bug? It looks like it's been in there for 5 years if it is a bug, so wanted to make sure before working on a PR.

Details:

...
playlist.items << M3u8::SegmentItem.new(program_date_time: Time.now, duration: 10, segment: 'http://example.com/segment-1.aac')
....

Expected:

#EXTINF:9.770667,
#EXT-X-PROGRAM-DATE-TIME: 2020-11-25 14:27:00 -0600
http://example.com/segment-1.aac

Actual:

#EXTINF:9.770667,
2020-11-25 14:27:00 -0600
http://example.com/segment-1.aac

the latter seems to cause players to try and request "2020-11-25 14:27:00 -0600" as a fragment url.

I worked around the issue for the timebeing by passing the "#EXT-X-PROGRAM-DATE-TIME: #{Time.now}", as the program_date_time attribute, which feels a little clunky unless I'm missing the reasoning for it being this way. Thoughts?

Thanks for reporting this @jkeen and apologies for the really late response. It's definitely a bug.