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

Improving startup performance with element.currentTime #998

Closed
LloydW93 opened this issue Jan 12, 2016 · 5 comments
Closed

Improving startup performance with element.currentTime #998

LloydW93 opened this issue Jan 12, 2016 · 5 comments
Milestone

Comments

@LloydW93
Copy link
Member

Currently, if a video element has a currentTime before playback is started in dash.js, it will first attempt to load the first fragments for the stream, then load the ones for the current playback time, immediately discarding the initially loaded media.

The use case for this is when resuming content, e.g. the user was previously 15 minutes through an hour long piece of content. In our implementation we also currently use this to implement failover between our different suppliers (CDNs), although I suspect that will change once multiple BaseURL support is added.

In 1.6.0, we did 716241b to resolve this, but the more I think about this code, the more I think that this possibly caused problems elsewhere, for example with multiperiod content.

Does anyone have thoughts on how else this issue might be tackled, or whether this code definitely has side effects? It works great in our simple use case, but I suspect it may be a factor for some of the issues some people are having with 1.6.0.

@dsparacio dsparacio added this to the 2.0.0 milestone Jan 12, 2016
dsparacio pushed a commit that referenced this issue Jan 25, 2016
@dsparacio
Copy link
Contributor

Just to note this does infact break Multi Period for some stream test. We also think that you should not use the element to store time as you switch but rather to store in player and append as #s=TIME on the new CDN MPD. Leave change in for now until Multi period work is done

@dsparacio dsparacio modified the milestones: 2.1.0, 2.0.0 Feb 5, 2016
@LloydW93
Copy link
Member Author

LloydW93 commented Feb 8, 2016

That's okay - I believe this can be re-used as at the time we added it there was no support for time URL fragments. We can change our implementation to use this going forward instead.

If it's going to be removed though, better to do that in a 2.0.0 rather than a 2.1.0?

@dsparacio
Copy link
Contributor

OK if you are ok with removing this for 2.0 then I will issue that change today. Did not want to just pull the rug out. Thanks for the confirmation.

@dsparacio
Copy link
Contributor

@LloydW93 Can I close?

dsparacio pushed a commit to dsparacio/dash.js that referenced this issue Feb 9, 2016
dsparacio pushed a commit that referenced this issue Feb 9, 2016
@LloydW93
Copy link
Member Author

LloydW93 commented Feb 9, 2016

Yep!

@LloydW93 LloydW93 closed this as completed Feb 9, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants