-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
#t=0 anchor link no longer starts playback of live stream automatically if "calcFromSegmentTimeline" set to true #3813
Comments
@tomraut can you please check if your problem is fixed here: #3815 . The changes should be available in the nightly build soon: http://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html |
@dsilhavy yep, seems to be fixed! Awesome! |
@dsilhavy I may have been too fast to give you test result. When testing with another stream, it is still not fixed. Not sure if ?t= parameter has something to do with this. Following kind of stream still requires user to tickle timeline: |
I cant check this stream seems to be DRM protected. Does it start when you omit the t parameter? |
@dsilhavy I've done some debugging and I think reason for this not working in our player is this code: dash.js/src/streaming/controllers/PlaybackController.js Lines 465 to 471 in 3786007
When testing same stream (https://mtv-live-simulcast.cdn.katsomo.fi/live/E39USP/E39USP.isml/E39USP.mpd?t=2021-11-18T09%3A00%3A00.000Z-2021-11-18T10%3A34%3A58.000Z#t=0) using reference player and DEBUG logging enabled, I see that it logs this row: But with DEBUG logging enabled in our player, this is not logged. I've added console logging and re-built dash.js locally and found out that when started same stream in our player, both
gets exactly same value (1637226055.04) so it never goes inside if clause to execute I'm not sure why on reference page those values get 0.3490 difference but in our player difference is 0. |
@dsilhavy If I test our player with stream without ?t parameter (https://mtv-live-simulcast.cdn.katsomo.fi/live/E39USP/E39USP.isml/E39USP.mpd#t=0), I see that updateCurrentTime is called several times before eventually DVRWindow.start changes and it proceeds to if clause applying seek and stream starts:
So it seems to me that when there is a ?t parameter in the manifest URL, DVRWindow.start is locked to that moment exactly and logic in updateCurrentTime method no longer works as it relies on the fact that at some point in dynamic streams currentTime differs from DVRWindow.start. |
|
@dsilhavy if I toggle "Calculate segment availability from timeline" ON when using reference player, then stream Should this be considered a bug or a feature? |
Looks like a timing issue, would need to check this in detail. It starts after some time though even without manually seeking. |
Fixed in #3833 |
@dsilhavy I see you already closed this one, but just to confirm: I've tested your fix and it works for me as well in our setup. Thank you very much! |
@tomraut Thank you for verifying |
Environment
Steps to reproduce
Start playing mentioned stream. Player loads but user needs to either toggle pause => play or tickle the timeline in order for stream to start to actually play.
Observed behavior
This happens only with dash.js v4.1.0. I've tested the same using v3.2.2 and there everything works without any issues.
The text was updated successfully, but these errors were encountered: