[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