Applies to: Protocol and format interpretation for developers inspecting authorized media delivery.
The useful distinctions
- SegmentTimeline contains S entries.
- S@d expresses duration in timescale units.
- S@r counts additional repetitions of an entry.
Expand repetitions before resolving names
The first timeline entry begins at 9000, lasts 3000 units, and repeats once. That produces starts at 9000 and 12000, ending at 15000. The next explicit entry begins at 15000 and lasts 2000 units. Writing the expanded starts in a table makes both the repetition count and the boundary continuity visible. A repeat value of one creates two segments in total, not one.
Keep the template value in its native units
The timescale converts these values into seconds for explanation, but the Time substitution uses the timeline value appropriate to the addressing model. Do not replace it with a rounded screen position or a wall-clock timestamp. In this simple example, the first expanded reference contains 9000 even though the corresponding timeline time is nine seconds. A real review should also inspect any presentation offset and enclosing Period before mapping to presentation time. The excerpt leaves those absent on purpose so the duration expansion remains the only calculation. No segment availability, container validity, or playback behavior follows merely from producing plausible resource names. The repeated entry contributes two segment starts, not one start multiplied by two. Writing every expanded start in a row makes it easier to compare a later explicit discontinuity or changed duration.
Worked example · synthetic
The expanded starts are 9000, 12000, and 15000, producing t-9000.m4s, t-12000.m4s, and t-15000.m4s in this simple model. Their durations are three, three, and two seconds.
Valid DASH timeline excerpt; no actual resources or live availability supplied.
<SegmentTemplate xmlns="urn:mpeg:dash:schema:mpd:2011"
timescale="1000" initialization="init.mp4" media="t-$Time$.m4s">
<SegmentTimeline>
<S t="9000" d="3000" r="1"/>
<S t="15000" d="2000"/>
</SegmentTimeline>
</SegmentTemplate>Check the interpretation
- Interpret r as additional repetitions.
- Check adjacent expanded boundaries.
- Keep Time values distinct from rounded presentation seconds.