[Bug 752413] dashdemux: add support for parsing UTCTiming elements
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Fri Aug 14 02:52:14 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=752413
Thiago Sousa Santos <thiagossantos at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |thiagossantos at gmail.com
Resolution|--- |FIXED
Target Milestone|git master |1.5.3
--- Comment #26 from Thiago Sousa Santos <thiagossantos at gmail.com> ---
I had to do minor fixups because it was failing to build because of printf
formats but otherwise all merged. Thanks!
commit 93edd99bf7fa481b4bebc9f05ab560111eeb397c
Author: Alex Ashley <bugzilla at ashley-family.net>
Date: Fri Aug 14 09:44:24 2015 +0100
dashdemux: add support for HTTP HEAD method of time sync
The urn:mpeg:dash:utc:http-head:2014 method of time synchronisation
uses an HTTP HEAD request to a specified URL and then parses the
Date: HTTP response header.
This commit adds support to dashdemux for this method of time
synchronisation by making a HEAD request and then parsing the Date:
response.
This commit adds support to gstfragment to return the HTTP headers
and to uridownloader to support HEAD requests. To avoid creating a
new API, the RANGE get function is re-used (abused?) with start=-1
and end=-1 to indicate a HEAD request.
https://bugzilla.gnome.org/show_bug.cgi?id=752413
commit 1640ee2b339fb35cd8eb5779875242e347697265
Author: Alex Ashley <bugzilla at ashley-family.net>
Date: Thu Aug 13 18:21:29 2015 +0100
dashdemux: post-review fixup of UTCTiming element
This commit addresses the following items from the code review:
use a portable way to define NTP_TO_UNIX_EPOCH,
fix memory leak on error, and
add documentation to UTCTiming parse functions
Using LL is not portable, so the G_GUINT64_CONSTANT needs to be instead.
If an error occurs during DNS resolution, the GError was not being
released, causing a memory leak.
https://bugzilla.gnome.org/show_bug.cgi?id=752413
commit 95c705ae8f48acb4504ac168b4a8c16d77cae8da
Author: Alex Ashley <bugzilla at ashley-family.net>
Date: Wed Jul 15 11:56:13 2015 +0100
dashdemux: add support for UTCTiming elements for clock drift compensation
Unless the DASH client can compensate for the difference between its
clock and the clock used by the server, the client might request
fragments that either not yet on the server or fragments that have
already been expired from the server. This is an issue because these
requests can propagate all the way back to the origin
ISO/IEC 23009-1:2014/Amd 1 [PDAM1] defines a new UTCTiming element to allow
a DASH client to track the clock used by the server generating the
DASH stream. Multiple UTCTiming elements might be present, to indicate
support for multiple methods of UTC time gathering. Each element can
contain a white space separated list of URLs that can be contacted
to discover the UTC time from the server's perspective.
This commit provides parsing of UTCTiming elements, unit tests of this
parsing and a function to poll a time server. This function
supports the following methods:
urn:mpeg:dash:utc:ntp:2014
urn:mpeg:dash:utc:http-xsdate:2014
urn:mpeg:dash:utc:http-iso:2014
urn:mpeg:dash:utc:http-ntp:2014
The manifest update task is used to poll the clock time server,
to save having to create a new thread.
When choosing the starting fragment number and when waiting for a
fragment to become available, the difference between the server's idea
of UTC and the client's idea of UTC is taken into account. For example,
if the server's time is behind the client's idea of UTC, we wait for
longer before requesting a fragment
[PDAM1]:
http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=66068
dashdemux: support NTP time servers in UTCTiming elements
Use the gst_ntp_clock to support the use of an NTP server.
https://bugzilla.gnome.org/show_bug.cgi?id=752413
--
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