[Bug 755115] dashdemux: relate wall clock time to timestamps for live streams

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Sep 17 00:42:32 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=755115

--- Comment #1 from A Ashley <bugzilla at ashley-family.net> ---
I suspect the issue with this stream is not the use of "now", but how dashdemux
is mapping $time$ when using a SegmentTimeline.

If I'm reading the manifest correctly, I don't think it should work. The
SegmentTimeline has an explicit repeat count that does not provide sufficient
segments to get to "now".

My understanding is that for a live stream, availabilityStartTime defines the
origin (time=0, segment_number=1). If the segment duration was 2 seconds,
startNumber=1 and "now" was 2 hours since availabilityStartTime, the last
available segment would be:
    2*3600/2 - startNumber = 3599

If timeShiftBufferDepth was 10 minutes, the first available segment would be:
    3599 - (10*60) = 2999


To quote the standard:
"For @type='dynamic' this attribute shall be present. In this case it specifies
the anchor for the computation of the earliest availability time (in UTC) for
any Segment in the Media Presentation."

Looking at the section of the spec dealing with SegmentTimeline:

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

When the SegmentTemplate is in use and the $Time$ identifier is present in the
SegmentTemplate at media then
  - at least one Segment Index (‘sidx’) box shall be present
  - the values of the SegmentTimeline shall describe accurate timing of each
Media Segment. Specifically, these values shall reflect the information
provided in the Segment index (‘sidx’) box, i.e. the value of @timescale shall
be identical to the value of the timescale field in the first ‘sidx’ box,
  - the value of S at t shall be identical to the value of the
earliest_presentation_time in the first ‘sidx’ box of the Media Segment
described in S,
  - the value of S at d shall be identical to sum of the values of all
Subsegment_duration fields in the first ‘sidx’ box of the Media Segment
described in S.
  - The Segment URL for a Media Segment is obtained by replacing the $Time$
identifier by the earliest presentation time obtained from the SegmentTimeline.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list