In 5.3.9.5.3 Media Segment information, 4th and 5th paragraph is replaced with
In order to obtain the list of Media Segment URLs, i.e. the URL for each
Segment at a specific position k in the list based on the Segment Information,
the following shall apply:
if SegmentTemplate element is present the Template-based Segment URL
construction in 5.3.9.4.4 shall be applied as follows
If the Representation contains or inherits a SegmentTemplate element
with $Number$ then the URL of the Media Segment at position k in the
Representation is determined by replacing the $Number$ identifier by
(k-1)+@startNumber.
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 the time address associated to this
Segment. The time address is determined as follows:
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.
if one or more SegmentList elements are present they contain itself a
list of SegmentURL elements for a consecutive list of Media Segment URLs.
The number of the first Segment in the list within this Period is determined
by the value of the SegmentList @startNumber attribute, if present, or it
is 1 in case this attribute is not present. The sequence of multiple
SegmentList elements within a Representation shall result in Media Segment
List with consecutive numbers.
none of the above: In this case only a single Media Segment shall be present
with the URL provided by a BaseURL element and the SegmentBase element
may be present.
For the derivation of the MPD start time and duration of each Media Segment in
the list of Media Segments, the position k of the Media Segment and the
following information is used.
If neither @duration attribute nor SegmentTimeline element is
present, then the Representation shall contain exactly one Media Segment. The
MPD start time is 0 and the MPD duration is obtained in the same way as for
the last Media Segment in the Representation (see below for more details).
If @duration **attribute is present, then the MPD start time of the Media
Segment is determined as (Number-NumberStart) times the value of the
attribute @duration with Number__Start the value of the @startNumber
attribute, and Number the segment number (e.g. (k-1) + Number__Start**). The
MPD duration of the Media Segment is the value of the attribute @duration
unless the Media Segment is the last one the Representation (see below for
more details).
If @duration attribute is not present and the SegmentTimeline element
is present then rules in 5.3.9.6 apply to determine the start time and
duration of each Media Segment in the Media Segment list.
To determine the duration of the only or the last Media Segment of any
Representation in a Period, the MPD shall include sufficient information to
determine the duration of the containing Period. For example, the MPD
@mediaPresentationDuration, or Period @duration, or next Period @start
may be present.
It does not make sense for the calculation of MPD start time in SegmentList.
If @duration **attribute is present, then the MPD start time of the Media
Segment is determined as (Number-NumberStart) times the value of the
attribute @duration with Number__Start the value of the @startNumber
attribute, and Number the segment number (e.g. (k-1) + Number__Start**). The
MPD duration of the Media Segment is the value of the attribute @duration
unless the Media Segment is the last one the Representation (see below for
more details).
MPD start time is determined as (Number-NumberStart) = (k-1), which is
solely dependent on the segment number. With this, it is impossible to update
the segment list to remove segments without updating Period @start. startNumber
is also meaningless in this context - if we cannot update / remove segments, we
do not need startNumber.
The paragraph should be:
_If @duration **attribute is present, then the MPD start time of the Media
Segment is determined as ((k-1)+(NumberStart**-1)) times the value of the
attribute @duration with NumberStart _the value of the @startNumber
attribute. The MPD duration of the Media Segment is the value of the attribute
@duration unless the Media Segment is the last one the Representation (see
below for more details).
Appendix: Original text in 23009-1:2014
In order to obtain the list of Media Segment URLs, i.e. the URL for each Segment
at a specific position k in the list based on the Segment Information, the
following shall apply:
if SegmentTemplate element is present the Template-based Segment URL
construction in 5.3.9.4.4 shall be applied as follows
If the Representation contains or inherits a SegmentTemplate element with
$Number$ then the URL of the Media Segment at position k in the
Representation is determined by replacing the $Number$ identifier by
(k-1)+@startNumber.
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 the time address associated to this
Segment. The time address is determined as follows:
if the @duration attribute is present, then the time address is
determined by replacing the $Time$ identifier with
((k-1)+(kStart-1))* @duration with kStart the value of the
@startNumber attribute, if present, or 1 otherwise. Further, the media
time of the Segment shall be accurately expressed by the MPD
information in the following sense:
the value ((k-1)+(kStart-1))*@duration is identical to the
earliest presentation time in the segment.
the duration of the Segment in media presentation time shall be
identical to the value of the @duration attribute.
if the SegmentTimeline element is present, then the time address shall
be determined by replacing the $Time$ identifier with the earliest
presentation time of the k-th segment as documented in the Segment
timeline in 5.3.9.6.
if one or more SegmentList elements are present they contain itself a list of
SegmentURL elements for a consecutive list of Media Segment URLs. The number
of the first Segment in the list within this Period is determined by the value
of the SegmentList @startNumber attribute, if present, or it is 1 in case this
attribute is not present. The sequence of multiple SegmentList elements within
a Representation shall result in Media Segment List with consecutive numbers.
none of the above: In this case only a single Medi a Segment shall be present
with the URL provided by a BaseURL element and the SegmentBase element may be
present.
For the derivation of the MPD start time and duration of each Media Segment in
the list of Media Segments, the position k of the Media Segment and the
following information is used.
If neither @duration attribute nor SegmentTimeline element is present, then
the Representation shall contain exactly one Media Segment. The MPD start time
is 0 and the MPD duration is obtained in the same way as for the last Media
Segment in the Representation (see below for more details).
If @duration attribute is present, then the MPD start time of the Media
Segment is determined as (k - (kStart - 1)) times the value of the attribute
@duration with kStart the value of the @startNumber attribute, if present, or
1 otherwise. The MPD duration of the Media Segment is the value of the
attribute @duration unless the Media Segment is the last one the
Representation (see below for more details).
If @duration attribute is not present and the SegmentTimeline element is
present then rules in 5.3.9.6 apply to determine the start time and duration
of each Media Segment in the Media Segment list.
To determine the duration of the only or the last Media Segment of any
Representation in a Period, the MPD shall include sufficient information to
determine the duration of the containing Period. For example, the MPD
@mediaPresentationDuration, or Period @duration, or next Period @start may be
present.
ISO/IEC 23009-1:2014/Cor 1:2015
In 5.3.9.5.3 Media Segment information, 4th and 5th paragraph is replaced with
In order to obtain the list of Media Segment URLs, i.e. the URL for each Segment at a specific position k in the list based on the Segment Information, the following shall apply:
For the derivation of the MPD start time and duration of each Media Segment in the list of Media Segments, the position k of the Media Segment and the following information is used.
It does not make sense for the calculation of MPD start time in SegmentList.
MPD start time is determined as (Number-NumberStart) = (k-1), which is solely dependent on the segment number. With this, it is impossible to update the segment list to remove segments without updating Period @start. startNumber is also meaningless in this context - if we cannot update / remove segments, we do not need startNumber.
The paragraph should be:
Appendix: Original text in 23009-1:2014
In order to obtain the list of Media Segment URLs, i.e. the URL for each Segment at a specific position k in the list based on the Segment Information, the following shall apply:
For the derivation of the MPD start time and duration of each Media Segment in the list of Media Segments, the position k of the Media Segment and the following information is used.