Skip to content

Clarification of resolution of $Time$ placeholder in SegmentTemplate #59

@komar007

Description

@komar007

In 18.3, just before Example 8, there is a statement:

If using $Time$ addressing, the value for each segment reference is the segment start point on the sample timeline, in timescale units ([DASH] 5.3.9.5.3).

This is clearly in line with ISO/IEC 23009-1:2012, which explicitly states (5.3.9.6.1):

The Segment URL for a Media Segment is obtained by replacing the $Time$ identifier by the earliest
presentation time obtained from the SegmentTimeline.

However, there seems to be a change of the specification occurring gradually in 2014 and 2019 versions of the norm, where for example ISO/IEC 23009-1:2019, 5.3.9.5.3 says:

If the Representation contains or inherits a SegmentTemplate element with $Time$ then the
URL of the media segment at position k is determined by replacing the $Time$ identifier by
MPD start time of this segment, as described below.

and the term MPD start time is described in 5.3.9.6.1:

The value of the @t
attribute minus the value of the @presentationTimeOffset specifies the MPD start time of the first
Segment in the series

which implies that the substitution value for $Time$ should be @t - @presentationTimeOffset.

It is important to note that the 2019 version of the norm describes the resolution of the segment URLs in more places and these instances seem to contradict each other, at least according to some interpretations. I also have concerns with respect to the definition of the term MPD start time and whether it is defined in terms of MPD timeline or sample timeline.

This issue is not to suggest a change in the Guidelines document, quite the opposite, I believe that the earlier description in 2012 norm is correct. This is more to raise awareness of the changes in the norm and discuss their correctness and/or clarity.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions