GNOME Bugzilla – Bug 764728
dashdemux: apply suggestedPresentationDelay to seek and seek range
Last modified: 2018-11-03 13:48:32 UTC
When seeking or querying a range of seek on a live stream, suggestedPresentationDelay has to be taken into account. Currently it is only used in streams setup. As a result seeking to live position discards suggestedPresentationDelay and seeks to earlier time than allowed.
Created attachment 325538 [details] [review] fix This change provides checking suggestedPresentationDelay during streams setup, seek and seek range query for live streams.
Changing gst_dash_demux_get_server_now_utc() to apply suggestedPresentationDelay will change the segment numbers that dashdemux requests. I think this is not a good idea. The DASH standard does not mandate that suggestedPresentationDelay has to be taken into account in the calculation of available segments. To quote the DASH specification: 5.3.9.5.3 Media Segment information For services with MPD@type='dynamic', the Segment availability start time of a Media Segment is the sum of - the value of the MPD@availabilityStartTime, - the PeriodStart time of the containing Period as defined in 5.3.2.1, - the MPD start time of the Media Segment, and - the MPD duration of the Media Segment. The Segment availability end time of a Media Segment is the sum of the Segment availability start time, the MPD duration of the Media Segment and the value of the attribute @timeShiftBufferDepth for this Representation.
Created attachment 326074 [details] [review] Updated patch Updated patch: - Removed clamping when seeking. - Applying suggestedPresentationDelay only to the end of the seek range. - Fixed time conversions.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/366.