-
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
MPD Anchor should be relative to the start of the first period #2330
Comments
There was a discussion regarding this in #2232 and #1361. @dsparacio, do you remind why t parameter was decided to be used as an absolute time? Thanks |
@epiclabsDASH @dsparacio any update as to why I think it would make sense to have Alternatively, if you really don't want to use relative time (e.g. to avoid breaking things for people who are already using |
I've also noticed that I can never start at the very beginning of a live clip - at best, I can start 1 second into the clip, then seek back to the beginning after the player loads. For example, if the availabilityStartTime is Should we create a separate issue for this? |
@aj-r, sorry for the late response. Let me bring this topic to today coordination call. I prefer to don't change the meaning of #t parameter (there are users that presumably are using it as it is defined today) but are totally open to changes. I will get back to you as soon as possible regarding this.
Many thanks! |
Great! I won't be able to look at it today, but maybe Tuesday or Wednesday. |
#2330 Add 'r' parameter to specify relative start time in a live stream
Works great :) |
Specifying
#t=0
for live clips has no effect - it starts playing them at the live edge instead of from the beginning. It seems that dash.js is treatingt
as epoch time. However, according to ISO/IEC 23009-1:2014(E) section C.4,t
is:Essentially,
t
should be relative to the start of the first period, NOT relative to January 1, 1970.Background / use case
I need to be able to play back DASH contents in a VOD type of use case. The catch is that I need to be able to play these contents while the segments are still being written, and update the player as segments are added. To accomplish this, I set
MPD@type="dynamic"
while segments are being written, and then change toMPD@type="static"
once all segments have been written. By default, dashjs tries to load the live edge of the content, but I want to start from the beginning. Hence I tried adding #t=0 to the MPD URL, but this did not work because dashjs treats #t as epoch time, instead of relative to the period start time.Environment
Steps to reproduce
MPD@timeShiftBufferDepth
is sufficiently large (e.g.P100Y
).Unfortunately I can't provide you with my own MPD file because it's on a private network. I've linked to one of DASH-IF's sample files above, but any live sample can reproduce the issue. If
timeShiftBufferDepth
is too small, then#t=0
may not work, but you can still reproduce the issue by settingt
to a larger number of seconds such that it is in range oftimeShiftBufferDepth
.Observed behaviour
Player starts at the live edge. Expected it to start at the beginning (or whatever value was specified for
t
).Console output
The text was updated successfully, but these errors were encountered: