After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 758952 - dashdemux: forward availabilityStartTime to application
dashdemux: forward availabilityStartTime to application
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-12-02 14:51 UTC by Julien Isorce
Modified: 2018-11-03 13:43 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Julien Isorce 2015-12-02 14:51:18 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)
Comment 1 Thiago Sousa Santos 2015-12-07 18:28:49 UTC
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?
Comment 2 Florin Apostol 2015-12-08 12:17:44 UTC
(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;
Comment 3 Julien Isorce 2015-12-10 18:25:32 UTC
(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"
Comment 4 A Ashley 2016-02-29 11:08:18 UTC
>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
Comment 5 GStreamer system administrator 2018-11-03 13:43:53 UTC
-- 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.