Skip to content
This repository has been archived by the owner on Apr 28, 2021. It is now read-only.

dash.js scheduler stops unexpectedly #10

Open
AxelDelmas opened this issue Apr 6, 2016 · 6 comments
Open

dash.js scheduler stops unexpectedly #10

AxelDelmas opened this issue Apr 6, 2016 · 6 comments

Comments

@AxelDelmas
Copy link

dash.js scheduler sometimes stops downloading segments, sometimes resumes after a while.
This doesn't happen on regular MSE, so I suspect some part of the API (getter or event) is not implemented correctly.

Very easily reproductible on http://wowza.streamroot.io/vodorigin/tos.mp4/manifest.mpd .

If you reconfigure dash.js buffer to download 15s of content, it stops after downloading 3 segments:

player.setStableBufferTime(15);
player.setBufferTimeAtTopQuality(15);
player.setBufferTimeAtTopQualityLongForm(15);
@AxelDelmas
Copy link
Author

Updated demo page in branch repro10 with reproduction configuration described above.

@AkamaiDASH do you have an idea of what could cause this issue? Not 100% sure about this, but I believe the scheduler pauses

@dsparacio
Copy link

@AxelDelmas Not sure off hand but will look today if I can. Does it only happen with this stream or other streams with same config for buffer target?

@AxelDelmas
Copy link
Author

I believe it happens on any stream, at least in VOD. It happens also with the default buffer target configuration, but I noticed than it happened much faster with setting it to 15s: the last segment downloaded ends at around 18.6s for both audio and video (close to the 15s target)

With default config, it stops rebuffering at around 67s, then starts back scheduling download right before running out of buffer. It is currently blocked (for good it seems) at ~130s on my test page, so about 2x the previous 67s which seems close enough to BUFFER_TIME_AT_TOP_QUALITY_LONG_FORM

@dsparacio
Copy link

I am totally not following as we tested 100 of vod streams in 2.1 at this point all are performing as expected so I will have to try to reproduce with your stream and go from there. thanks.

@AxelDelmas
Copy link
Author

AxelDelmas commented Apr 6, 2016

This bug doesn't happen with regular MSE, only when using MSE polyfill.
As I pointed out, the problem probably comes from a part of the MSE / video spec that isn't implemented correctly, not from a bug in dash.js. I should have be more clear about that in the description, sorry about that.

What I'm looking for is a clue about why dash.js scheduler could possibly pause after reaching the buffer target (or so it seems), and what event / getter does it use from SourceBuffer / Video API to resume scheduling (this is probably the part that we got wrong in our polyfill).

@dsparacio
Copy link

Ah, I was like what the heck. Sorry I glazed over "This doesn't happen on regular MSE, " - Busy this morning want to get in as much as possible before RC1

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants