-
Notifications
You must be signed in to change notification settings - Fork 77
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
Fixed a bug regarding VOD videos #17
base: master
Are you sure you want to change the base?
Conversation
If there's the end list tag it still can be an EVENT stream, which isn't VOD.
|
I saw that when threre is an end list tag, players don't treat the video as a live stream, but as a VOD stram. When this tag is missing, players might mistakenly treat videos as live streams. If you look at the output of this NPM (i.e. after piping a m3u8 file and just stringify the output) sometimes it omits this end list tag, hence players play the video as if it was a live stream (even when the video is a VOD video). |
It should be classed as VOD if the X-PLAYLIST-TYPE header is VOD and I think that's the only case. If the tag isn't there then it should be treated as a live stream and sone players might decide to show the scrub bar if there's enough content that makes sense for a sliding window (dvr). Have a read of https://developer.apple.com/library/ios/technotes/tn2288/_index.html :) |
I agree. Anyhow, thanks a lot for your quick responses!!! They are really On Aug 21, 2016 20:29, "Tom Jenkinson" [email protected] wrote:
|
I just checked an example from twitch
This is of type Does the output contain the EVENT type or is that missing as well? Could you paste the output here as well? |
Hey, sorry for the late response.
The input file:
And the output file:
(I removed a piece of the playlist, since it was too long...). What's the best way to fix it, now that we agree there is a bug? Thanks!!! |
I might be wrong but I think there should be a new Then here: if (this.get('endList')) {
output.push('#EXT-X-ENDLIST');
} and here should be: if (['', '#EXT-X-ENDLIST'].indexOf(line) > -1) {
if (line === '#EXT-X-ENDLIST' && this.currentItem) {
this.currentItem.set('endList', true);
}
return true;
} Then to include the tag in the output here should be: if (this.get('playlistType') === 'VOD' || this.get('endList')) {
output.push('#EXT-X-ENDLIST');
} and some tests should probably be updated for the new |
No description provided.