GNOME Bugzilla – Bug 758952
dashdemux: forward availabilityStartTime to application
Last modified: 2018-11-03 13:43:53 UTC
The application needs a way to retrieve the "availabilityStartTime" field in mpd. Indeed getStartDate method of HTML5 video tag shall return MPD@availabilityStartTime plus the PeriodStart time. PeriodStart seems to be gst_adaptive_demux_get_period_start_time which should match start attribute in mpd, example: <Period .. start="PT0.00S"> One possible solution is to post a gst message. Should I add a new entry to GST_ADAPTIVE_DEMUX_STATISTICS_MESSAGE_NAME message: "start-date" ? Or a new message specific to dash where we can add as much as mpd's nodes/attributes that we need ? (Currently with latest WebKit getStartDate always returns NaN since it is default implementation)
Is there a similar value that can be extracted from HLS/MSS? Also, what happens for mpds with multiple periods? Shouldn't the return always be MPD@availabilityStartTime?
(In reply to Julien Isorce from comment #0) > Indeed getStartDate method of HTML5 video tag shall return > MPD@availabilityStartTime plus the PeriodStart time. > You also need access to suggestedPresentationDelay and default_presentation_delay. I believe getStartDate should return availabilityStartTime + PeriodStart + suggestedPresentationDelay ? suggestedPresentationDelay : default_presentation_delay;
(In reply to Thiago Sousa Santos from comment #1) > Is there a similar value that can be extracted from HLS/MSS? No idea, I can try to check in the specs and/or in gst-plugins-bad/ext/hls > > Also, what happens for mpds with multiple periods? Shouldn't the return > always be MPD@availabilityStartTime? With multiple period start I suspect it should just compute availabilityStartTime + PeriodStart using the first PeriodStart the player got. Actually the full sentence is: "For a dynamic MPD, getStartDate() shall return a Date object representing the value of MPD@availabilityStartTime plus the PeriodStart time of the first regular Period when the MPD was first loaded" so it seems to require just to use the first period start. (In reply to Florin Apostol from comment #2) > You also need access to suggestedPresentationDelay and > default_presentation_delay. I believe getStartDate should return > availabilityStartTime + PeriodStart + suggestedPresentationDelay ? > suggestedPresentationDelay : default_presentation_delay; Thx for the remark. I do not see any "suggestedPresentationDelay" in the doc I have, neither in the test suite we use. But I'll definitely dig out more about it. Thx for the remark. For more details see section 9.4.2 of HbbTV spec https://www.hbbtv.org/wp-content/uploads/2015/07/HbbTV_specification_2_0.pdf "behaviour of HTML5 media objects"
>Is there a similar value that can be extracted from HLS/MSS? For HLS there is the EXT-X-PROGRAM-DATE-TIME tag [1] that could be used to infer when the first segment would have been generated. [1] https://tools.ietf.org/html/draft-pantos-http-live-streaming-18#section-4.3.2.6
-- 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/333.