gstreamer/gst
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
..
alpha plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:42:25 +02:00
apetag Remove autotools build system 2019-10-14 11:04:18 +01:00
audiofx meson: add update-orc-dist target 2020-07-04 15:04:59 +01:00
audioparsers mpegaudioparse: Use a constant bit rate to convert between time and bytes if possible. 2020-03-19 14:02:44 +00:00
auparse auparse: fix compiler warnings 2020-07-29 19:21:31 +03:00
autodetect autodetect: mark filter-caps property as DOC_SHOW_DEFAULT 2020-06-24 17:04:51 +02:00
avi avidemux: Avoid potential double-free 2020-05-06 04:36:46 +00:00
cutter Remove autotools build system 2019-10-14 11:04:18 +01:00
debugutils good: Avoid usage of deprecated API 2019-10-16 07:46:58 +00:00
deinterlace meson: add update-orc-dist target 2020-07-04 15:04:59 +01:00
dtmf Remove autotools build system 2019-10-14 11:04:18 +01:00
effectv plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:42:25 +02:00
equalizer docs: mark GstIirEqualizer as plugin API 2020-06-23 19:04:03 +02:00
flv flvmux: Improve logging of gst_flv_mux_buffer_to_tag_internal 2020-09-10 09:20:46 +00:00
flx Remove autotools build system 2019-10-14 11:04:18 +01:00
goom Remove autotools build system 2019-10-14 11:04:18 +01:00
goom2k1 Remove autotools build system 2019-10-14 11:04:18 +01:00
icydemux Remove autotools build system 2019-10-14 11:04:18 +01:00
id3demux Remove autotools build system 2019-10-14 11:04:18 +01:00
imagefreeze imagefreeze: Wait until we have a clock 2020-08-04 17:28:39 +03:00
interleave Remove autotools build system 2019-10-14 11:04:18 +01:00
isomp4 isomp4/mux: add a fragment mode for initial moov with data 2020-09-21 12:08:14 +10:00
law Remove autotools build system 2019-10-14 11:04:18 +01:00
level Remove autotools build system 2019-10-14 11:04:18 +01:00
matroska gst: Update for gst_video_transfer_function_*() function renaming 2020-09-07 12:13:18 +03:00
monoscope Remove autotools build system 2019-10-14 11:04:18 +01:00
multifile splitmuxsrc: Implement segment query 2020-09-18 10:54:23 -04:00
multipart good: use of g_value_dup_string 2019-12-20 09:30:26 +00:00
replaygain Remove autotools build system 2019-10-14 11:04:18 +01:00
rtp rtpmp4gdepay: Allow lower-case "aac-hbr" instead of correct "AAC-hbr" 2020-09-18 10:02:44 +03:00
rtpmanager rtpmanager: Improve readability of "stats" docs by making the fields an actual list 2020-08-13 07:24:17 +00:00
rtsp rtspsrc: Fix push-backchannel-buffer parameter mismatch 2020-09-11 18:33:04 +08:00
shapewipe Remove autotools build system 2019-10-14 11:04:18 +01:00
smpte plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:42:25 +02:00
spectrum Remove autotools build system 2019-10-14 11:04:18 +01:00
udp Don't pass default GLib marshallers for signals 2019-11-17 15:32:30 +00:00
videobox meson: add update-orc-dist target 2020-07-04 15:04:59 +01:00
videocrop Fix usage of C99 2020-03-23 21:32:04 -04:00
videofilter plugins: uddate gst_type_mark_as_plugin_api() calls 2020-06-06 00:42:25 +02:00
videomixer meson: add update-orc-dist target 2020-07-04 15:04:59 +01:00
wavenc wavenc: Fix writing of the channel mask with >2 channels 2020-01-13 19:50:06 +00:00
wavparse Remove autotools build system 2019-10-14 11:04:18 +01:00
y4m Remove autotools build system 2019-10-14 11:04:18 +01:00
meson.build meson: Add feature options for all plugins 2018-07-27 18:42:54 +05:30