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

Player doesn't recover when getting an download error on expired segments (live) #31

Closed
AxelDelmas opened this issue Oct 13, 2015 · 2 comments
Labels

Comments

@AxelDelmas
Copy link
Contributor

Server sends 404s when the player tries to download expired segments on this stream: http://wowza.streamroot.io/live/stream1/index.m3u8
To repro, play this stream and throttle the bandwidth to 750kbps from chrome debugger.

This part of the code should prevent this to happen: https://github.com/dailymotion/hls.js/blob/master/src/controller/buffer-controller.js#L203-L210

But this stream has variable segment length, which can cause several smaller segments to expire at once if a bigger segment is made available at live edge, and on top of that the total duration of the index is also variable.

This part of the code is executing only the first time we download the manifest:
https://github.com/dailymotion/hls.js/blob/master/src/controller/buffer-controller.js#L816-L818
so with the variable playlist duration this.seekAfterStalling = this.startPosition + sliding; might be before the start of the playlist when we need to seek.
Reevaluating this.startPosition everytime we reload the manifest seems to help.

A possible improvement could be as well to limit the max latency we can have from the live edge.
(maybe make the startPosition configurable as well, as a time distance from the live edge)

Another possible improvement would be to loosen the criticity of getting a download error on a fragment for live streaming and try seeking forward if we can't download a segment (with a limited amounts of retries).

@mangui
Copy link
Member

mangui commented Oct 15, 2015

@mangui mangui added the Bug label Oct 15, 2015
mangui added a commit that referenced this issue Oct 16, 2015
@mangui
Copy link
Member

mangui commented Oct 16, 2015

closing as PR merged, and IO error are not fatal anymore on live streams

@mangui mangui closed this as completed Oct 16, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants