gstreamer/tests/check/elements
Matthew Waters 52b63de19a isomp4/mux: add a fragment mode for initial moov with data
Used by some proprietary software for their fragmented files.

Adds some support for multi-stream fragmented files

Flow is as follows.
1. The first 'fragment' is written as a self-contained fragmented
   mdat+moov complete with an edit list and durations, tags, etc.
2. Subsequent fragments are written with a mdat+moof and each stream is
   interleaved as data arrives (currently ignoring the interleave-*
   properties).  data-offsets in both the traf and the trun ensure
   data is read from the correct place on demuxing.  Data/chunk offsets
   are also kept for writing out the final moov.
3. On finalisation, the initial moov is invalidated to a hoov and the
   size of the first mdat is extended to cover the entire file contents.
   Then a moov is written as regularly would in moov-at-end mode (the
   default).

This results in a file that is playable throughout while leaving a
finalised file on completion for players that do not understand
fragmented mp4.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/643>
2020-09-21 12:08:14 +10:00
..
aacparse.c tests: aacparser: Test that short raw frames don't get concatenated 2018-01-18 19:09:25 +00: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 tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09: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 tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09: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 tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
audiopanorama.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09: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 tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
avisubtitle.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
capssetter.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09: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 tests: flvdemux: Add new test for channel detect using aac codec-data 2018-10-12 14:35:37 -04:00
flvmux.c tests: flvmux: Instead of using the testclock, just send eos event for drain 2020-03-02 01:37:27 +09: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 imagefreeze: Add test for new live mode 2020-06-29 12:07:14 +03:00
interleave.c interleave: fix message leaks in test 2016-06-21 10:51:08 +03:00
jpegdec.c documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
jpegenc.c fix buffer leaks in tests 2016-06-21 10:51:08 +03:00
level.c documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
matroskademux.c matroska: fix memory leaks due to toc related updates 2017-12-15 16:14:43 +02:00
matroskamux.c tests: matroskamux avoid -Wmaybe-uninitialized 2019-01-18 13:53:18 +00: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 tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
packets.h rtp: Implement ULPFEC (RFC 5109) 2018-02-21 14:15:22 +01: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: test correct pad names are created 2020-07-28 11:41:51 +00:00
qtdemux.h tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
qtmux.c isomp4/mux: add a fragment mode for initial moov with data 2020-09-21 12:08:14 +10: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 documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
rtp-payloading.c rtph26[45]pay: Change default aggregate-mode to "none" for backwards compatibility 2020-08-08 10:08:31 +03:00
rtpbin.c Fix usage of C99 2020-03-23 21:32:04 -04:00
rtpbin_buffer_list.c test: rtpbin_buffer_list: add a test for invalid packets in buffer list 2019-08-07 15:32:30 -04:00
rtpcollision.c tests: rtpcollision: use alawenc/dec in these tests instead of Speex 2014-12-30 17:19:59 +00:00
rtpfunnel.c rtpfunnel: various cleanups 2020-02-14 10:08:05 +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 rtph26[45]pay: Change default aggregate-mode to "none" for backwards compatibility 2020-08-08 10:08:31 +03:00
rtph265.c rtph26[45]pay: Change default aggregate-mode to "none" for backwards compatibility 2020-08-08 10:08:31 +03:00
rtpjitterbuffer.c rtpjitterbuffer: don't use RTX packets in rate-calc and reset-logic 2020-04-16 17:06:31 +02:00
rtpjpeg.c rtpjpeg: Use gst_memory_map() instead of gst_buffer_map() 2020-04-03 17:01:24 +02:00
rtpmux.c Run gst-indent through the files 2018-11-28 05:52:16 +02:00
rtpopus.c rtpopuspay: make depay ! pay work 2020-04-03 09:04:32 +00:00
rtpptdemux.c rtpptdemux: set payload to caps inside gst_rtp_pt_demux_get_caps 2020-02-11 18:39:22 +00:00
rtpred.c documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
rtprtx.c rtprtxsend: allow generic input caps 2020-01-28 15:44:13 +00:00
rtpsession.c rtpsession: make tests more stable 2020-06-20 19:45:33 +00:00
rtpssrcdemux.c rtpssrcdemux: Handle RTCP APP packets 2020-02-11 15:12:07 +01:00
rtpstorage.c documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
rtptimerqueue.c rtptimerqueue: remove ->num from the timer 2020-03-20 13:17:20 +00:00
rtpulpfec.c tests: rtpulpfec: fix buffer leak in unit test 2019-03-06 19:40:10 +00:00
rtpvp9.c tests: fix indentation 2016-09-15 09:53:07 +01:00
shapewipe.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
souphttpsrc.c souphttpsrc test: free g_get_current_dir return 2018-04-13 20:35:24 +02:00
spectrum.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
splitmuxsink.c tests: splitmuxsink: Add more timecode based split test 2020-04-20 21:39:54 +09:00
splitmuxsinktimecode.c tests: splitmuxsink: Add more timecode based split test 2020-04-20 21:39:54 +09:00
splitmuxsrc.c tests: Split splitmux test case 2020-04-03 17:08:51 +09:00
udpsink.c tests: udpsink: add check that sets QoS on IPv4/6 sockets 2017-12-23 12:45:11 +01:00
udpsrc.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
videobox.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
videocrop.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
videofilter.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
videomixer.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
vp8dec.c vpxdec: Check that output width and height != 0 2020-06-02 23:59:20 +03:00
vp8enc.c vp8enc: improve unit tests 2020-09-08 22:59:29 +00:00
vp9enc.c tests: vp9enc: enforce I420 format 2020-06-08 17:58:29 +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 tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00
wavparse.c tests: wavparse: add test for processing an actual .wav file 2016-11-03 15:42:29 +02:00
y4menc.c tests: Remove pointless unistd.h include 2018-12-30 21:54:44 +09:00