gstreamer/tests/check/elements
Alex Ashley 95c705ae8f 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
2015-08-14 06:47:20 -03:00
..
uvch264demux_data UVC H264 plugin 2012-09-10 16:09:26 -04:00
.gitignore tests: pcapparse: add unit test for frames with eth padding 2015-07-03 10:28:34 +01:00
aiffparse.c test: fix compiler warning in aiffparse test on 32-bit x86 2013-08-20 00:26:06 +01:00
asfmux.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
assrender.c assrender: Fix compiler warning in test 2014-02-08 20:07:16 +01:00
audiointerleave.c tests: Add audiointerleave test to show that queuing works 2015-07-30 14:00:05 -04:00
audiomixer.c audioaggregator: Sync pad values before aggregating 2015-07-22 19:50:38 +01:00
autoconvert.c autoconvert: Fix event handling in unit test 2013-05-15 10:23:49 +02:00
autovideoconvert.c Fix FSF address 2012-11-04 00:09:59 +00:00
baseaudiovisualizer.c tests: fix build of baseaudiovisualizer test with subdir-objects option 2013-08-09 20:14:03 +01:00
camerabin.c tests: camerabin: add tests for GstPhotography image capture 2015-04-24 15:12:47 -03:00
compositor.c compositor: Add unit tests for the new aggregator start-time-selection property 2015-07-29 14:35:50 +01:00
curlfilesink.c curl*sink: improve return value checks in test cases 2014-04-26 10:21:10 +02:00
curlftpsink.c curl*sink: improve return value checks in test cases 2014-04-26 10:21:10 +02:00
curlhttpsink.c curl*sink: improve return value checks in test cases 2014-04-26 10:21:10 +02:00
curlsftpsink.c curlsftpsink: authenticate remote host via public key fingerprint 2014-05-20 08:58:08 +02:00
curlsmtpsink.c curl*sink: improve return value checks in test cases 2014-04-26 10:21:10 +02:00
dash_mpd.c dashdemux: add support for UTCTiming elements for clock drift compensation 2015-08-14 06:47:20 -03:00
dataurisrc.c Fix FSF address 2012-11-04 00:09:59 +00:00
faac.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
faad.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
gdpdepay.c tests: gdpdepay: update for internal gdp refactoring 2014-12-26 13:44:35 +00:00
gdppay.c tests: gdppay: initialise memory of buffers used in unit test 2014-12-26 13:44:32 +00:00
glimagesink.c Fix a common typo: retreive -> retrieve 2015-06-05 09:43:35 -03:00
h263parse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
h264parse.c h264parse: tests: fix caps for avc format 2014-08-25 13:37:57 -03:00
hlsdemux_m3u8.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
id3mux.c Fix FSF address 2012-11-04 00:09:59 +00:00
jifmux.c Fix FSF address 2012-11-04 00:09:59 +00:00
jpegparse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
kate.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
mpeg2enc.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
mpeg4videoparse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
mpegtsmux.c tests: mpegtsmux: add test for keyframe/delta flag propagation 2015-03-15 15:54:01 +00:00
mpegvideoparse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
mpg123audiodec.c tests: fix mpg123audiodec test for big-endian architectures 2014-03-05 10:37:53 +00:00
mplex.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
mxfdemux.c mxfdemux: Fix event handling in unit test 2013-05-15 11:31:14 +02:00
mxfdemux.h
mxfmux.c tests: update some element names for 1.0 2013-02-28 20:09:29 +00:00
neonhttpsrc.c Fix FSF address 2012-11-04 00:09:59 +00:00
ofa.c ofa: port to 1.0 2013-05-12 23:42:06 +01:00
opus.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
parser.c parser: Fix event handling in unit tests 2013-05-15 11:15:24 +02:00
parser.h Fix FSF address 2012-11-04 00:09:59 +00:00
pcapparse.c tests: pcapparse: add unit test for frames with eth padding 2015-07-03 10:28:34 +01:00
rtponvif.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
schroenc.c schroenc: Fix event handling in unit test 2013-05-15 11:26:25 +02:00
shm.c tests: Take account of memory alignment in shm test 2014-06-02 21:51:38 -04:00
templatematch.c templatematch: Compare the correct loop variables 2014-09-16 01:15:31 +03:00
timidity.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
uvch264demux.c check: Update uvch264demux for behaviour change 2013-09-28 13:15:44 +02:00
viewfinderbin.c Fix FSF address 2012-11-04 00:09:59 +00:00
voaacenc.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
voamrwbenc.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:04:40 +02:00
x265enc.c tests/x265enc: add simple unit test 2014-10-15 17:11:47 +02:00
zbar.c zbar: split test 2015-06-07 16:27:13 +02:00