gstreamer/tests/check/elements
fengalin a6702a76d5 matroska: re-activate and update TOC support
TOC support in mastroskamux has been deactivated for a couple of years. This commit updates it to recent GstToc evolutions and introduces toc unit tests for both matroska-mux and matroska-demux.

There are two UIDs for Chapters in Matroska's specifications:
- The ChapterUID is a mandatory unsigned integer which internally refers to a given chapter. Except for title & language which use dedicated fields, this UID can also be used to add tags to the Chapter. The tags come in a separate section of the container.
- The ChapterStringUID is an optional UTF-8 string which also uniquely refers to a chapter but from an external perspective. It can act as a "WebVTT cue identifier" which "can be used to reference a specific cue, for example from script or CSS".

During muxing, the ChapterUID is generated and checked for unicity, while the ChapterStringUID receives the user defined UID. In order to be able to refer to chapters from the tags section, we maintain an internal Toc tree with the generated ChapterUID.

When demuxing, the ChapterStringUIDs (if available) are assigned to the GstTocEntries UIDs and an internal toc mimicking the toc is used to keep track of the ChapterUIDs and match the tags with the appropriate GstTocEntries.

https://bugzilla.gnome.org/show_bug.cgi?id=790686
2017-12-15 16:14:43 +02:00
..
.gitignore tests: ignore rtph264 test binary 2017-12-09 16:15:24 +00:00
aacparse.c tests: aacparse: use caps query instead of accept-caps 2015-08-14 13:42:27 -03:00
ac3parse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
alpha.c tests: add test suite for alpha 2015-04-10 10:20:03 +01:00
alphacolor.c tests: Fix some more unit tests 2013-05-10 13:34:16 +02:00
amrparse.c check: Remove dead code 2017-01-02 15:06:33 +01:00
apev2mux.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
aspectratiocrop.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audioamplify.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audiochebband.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audiocheblimit.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audiodynamic.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audioecho.c tests: Fix some more unit tests 2013-05-10 13:34:16 +02:00
audiofirfilter.c tests: fix bus leaks 2016-07-18 10:53:19 +01:00
audioiirfilter.c tests: fix bus leaks 2016-07-18 10:53:19 +01:00
audioinvert.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audiopanorama.c audiopanorama: cleanup and expand the tests 2013-06-11 21:48:18 +02:00
audiowsincband.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
audiowsinclimit.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
autodetect.c meson: add options to set package name and origin 2017-05-20 14:53:42 +01:00
avimux.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
avisubtitle.c tests: Fix some more unit tests 2013-05-10 13:34:16 +02:00
capssetter.c fix buffer leaks in tests 2016-06-21 10:51:08 +03:00
deinterlace.c deinterlace: Added unit tests for field=auto 2016-03-24 14:34:11 +02:00
deinterleave.c deinterleave: fix leaks 2016-06-21 10:51:08 +03:00
dtmf.c rtpdtmfsrc: clock-base and seqnum-base -> timestamp-offset and seqnum-offset 2014-10-10 18:12:32 -04:00
equalizer.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
flacparse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
flvdemux.c check: Fix indentation 2016-03-24 16:22:31 +01:00
flvmux.c tests: fix indentation 2016-09-15 09:53:07 +01:00
gdkpixbufoverlay.c tests: gdkpixbufoverlay: add minimal unit test 2015-09-29 11:15:35 +01:00
gdkpixbufsink.c Fix FSF address 2012-11-04 00:07:18 +00:00
icydemux.c icydemux: reset tags on empty value 2017-02-14 12:24:13 +02:00
id3demux.c Fix FSF address 2012-11-04 00:07:18 +00:00
id3v2mux.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
imagefreeze.c Fix FSF address 2012-11-04 00:07:18 +00:00
interleave.c interleave: fix message leaks in test 2016-06-21 10:51:08 +03:00
jpegdec.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
jpegenc.c fix buffer leaks in tests 2016-06-21 10:51:08 +03:00
level.c tests: Add missing LDADD for libm in tests using math.h 2017-03-08 22:55:09 -05:00
matroskademux.c matroska: re-activate and update TOC support 2017-12-15 16:14:43 +02:00
matroskamux.c matroska: re-activate and update TOC support 2017-12-15 16:14:43 +02:00
matroskaparse.c tests: matroskaparse: fail on errors and disable pull mode test 2014-06-28 17:40:45 +01:00
mpegaudioparse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
mpg123audiodec.c tests: fix mpg123audiodec test for big-endian architectures 2016-02-16 10:40:39 +00:00
mulawdec.c tests: fix mulawdec/mulawenc test for big endian systems 2014-10-25 11:09:57 +01:00
mulawenc.c tests: fix mulawdec/mulawenc test for big endian systems 2014-10-25 11:09:57 +01:00
multifile.c fix buffer leaks in tests 2016-06-21 10:51:08 +03:00
parser.c tests: Fix parser tests 2013-05-10 13:10:29 +02:00
parser.h Fix FSF address 2012-11-04 00:07:18 +00:00
qtdemux.c tests: qtdemux: fix element and pad leak 2016-07-18 10:54:59 +01:00
qtdemux.h qtdemux: Handle upstream GAP in push-mode/time segment 2016-07-01 14:21:04 +02:00
qtmux.c tests: matroskamux, qtmux: don't add codec_data buffers to template caps 2017-02-21 15:47:16 +00:00
rganalysis.c rganalysis: Fix compiler warnings in the unit test 2016-01-08 15:32:47 +02:00
rglimiter.c tests: Add missing LDADD for libm in tests using math.h 2017-03-08 22:55:09 -05:00
rgvolume.c rgvolume: make tag list writable before modifying it 2016-02-28 14:44:39 +00:00
rtp-payloading.c tests: rtp-payloading: add unit test for rtph264pay codec_data 2017-11-23 09:36:15 +01:00
rtpaux.c tests: rtpaux: use a dynamic pt in the test 2015-08-06 01:39:43 -03:00
rtpbin.c rtpsession: Send EOS if all internal sources sent bye 2017-07-04 21:14:10 -04:00
rtpbin_buffer_list.c Fix FSF address 2012-11-04 00:07:18 +00:00
rtpbundle.c rtpbin: receive bundle support 2016-11-16 08:56:34 +01:00
rtpcollision.c tests: rtpcollision: use alawenc/dec in these tests instead of Speex 2014-12-30 17:19:59 +00:00
rtph261.c rtph261depay: Fix check of valid payload length 2016-08-26 11:53:22 -04:00
rtph263.c rtph263ppay: Fix caps leak 2016-11-01 20:20:47 +02:00
rtph264.c tests: rtph264depay: add test for using downstream memory allocator 2017-11-23 09:36:00 +01:00
rtpjitterbuffer.c tests: rtpjitterbuffer: fix compiler warning due to c99-ism 2017-01-09 19:04:04 +00:00
rtpmux.c tests: rtpmux: Fix element memory leak 2016-02-15 09:55:30 +00:00
rtprtx.c tests/check/rtprtx: add checks for rtprtxqueue's max-size-{time,packets} properties 2017-04-11 09:44:33 +03:00
rtpsession.c rtpsession: Handle zero length feedback packets 2017-12-02 13:58:34 +00:00
rtpvp9.c tests: fix indentation 2016-09-15 09:53:07 +01:00
shapewipe.c shapewipe: no need to activate pads 2014-05-09 18:10:31 +02:00
souphttpsrc.c tests: souphttpsrc: Avoid deprecated ssl-ca-file property 2017-06-29 15:32:30 -04:00
spectrum.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
splitmux.c splitmuxsink: Use muxer reserved space properties if present. 2017-11-25 00:56:11 +11:00
udpsink.c tests: add udpsink test to check client add/remove 2014-06-24 10:48:39 +01:00
udpsrc.c tests: udpsrc: verify the correct amount of bytes is sent to the socket 2017-12-09 16:08:49 +00:00
videobox.c tests: fix bus leaks 2016-07-18 10:53:19 +01:00
videocrop.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
videofilter.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
videomixer.c tests: videomixer: disable racy flush_start_flush_stop test 2016-10-20 22:08:14 +01:00
vp8dec.c tests: vp8dec: add test for caps renegotiation 2014-09-02 01:01:43 -03:00
vp8enc.c vp8enc-test: Send inital events 2013-05-10 09:24:47 +02:00
vp9enc.c gst: Don't declare variables inside the for loop header 2016-12-13 22:32:46 +02:00
wavpackdec.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
wavpackenc.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
wavpackparse.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00
wavparse.c tests: wavparse: add test for processing an actual .wav file 2016-11-03 15:42:29 +02:00
y4menc.c check: Use GST_CHECK_MAIN () macro everywhere 2015-06-02 16:27:24 +02:00