iheartradio / open-m3u8

Open Source m3u8 Parser
Other
248 stars 94 forks source link

Support for ongoing playlists #32

Closed Raniz85 closed 8 years ago

Raniz85 commented 8 years ago

Added a flag to MediaPlaylist that controls whether or not the _EXT_XENDLIST tag is written to the end of the playlist.

This fixes #26.

To be able to build the project I had to add a Gradle wrapper and fix a test case that failed because filenames in Linux are case sensitive.

Wopple commented 8 years ago

@Raniz85 I need to think more about the correct place to specify whether or not to have an EXT-X-ENDLIST tag. I'm going back and forth between having it be part of the playlist or a configuration of the writer. I'm leaning towards writer since the tag doesn't appear to impact the playlist data. Instead, it looks like a signal to the parser of an explicit stopping point. If it is a signal at the parser level, it would make sense specifying it belongs at the writer level. What do you think?

Raniz85 commented 8 years ago

I added it to MediaPlaylist because it impacts the way you treat the playlist (e.g. it will get updated with more segments so you should reload it periodically). Setting a flag in the writer means you can't tell if a playlist is ongoing or not when you're working with it.

Before this change the PlaylistParserWriterTest.liveMediaPlaylist test case should have failed (but doesn't since it only prints instead of asserting) since the source playlist doesn't have an EXT-X-ENDLIST tag at the end but the written playlist does.

Wopple commented 8 years ago

I see what you're saying. Alright, I think it's okay to go with these changes then.

Wopple commented 8 years ago

@Raniz85 I uploaded version 0.2.4 to maven central. Please give it a couple hours before being made publicly available.

Thanks for your contribution!