gstreamer/gst/isomp4
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
..
atoms.c isomp4/mux: add a fragment mode for initial moov with data 2020-09-21 12:08:14 +10:00
atoms.h isomp4/mux: add a fragment mode for initial moov with data 2020-09-21 12:08:14 +10:00
atomsrecovery.c gst-plugins-good: atoms_recovery: Handled buffer mapping failure 2017-10-24 22:04:27 -07:00
atomsrecovery.h atomsrecovery: read from mdat only what is on headers 2017-10-24 21:33:25 -07:00
descriptors.c qtdemux: Fix calcuation of descriptor length 2013-12-23 15:09:49 +01:00
descriptors.h Fix FSF address 2012-11-04 00:07:18 +00:00
fourcc.h qtdemux: Add 'aavd' and related fourcc codes for AAX encrypted audio 2020-09-16 00:59:34 +00:00
gstisoff.c qtdemux: Apply qtdemux debug category to gstisoff 2018-01-29 18:40:02 +00:00
gstisoff.h isomp4: Redefine gst_isoff_ symbols to gst_isoff_qt_ 2015-02-17 12:31:06 +01:00
gstqtmoovrecover.c docs: Port all docstring to gtk-doc markdown 2019-05-13 10:24:40 -04:00
gstqtmoovrecover.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstqtmux-doc.c docstrings: port ulinks to markdown links 2019-08-23 18:56:01 +02:00
gstqtmux-doc.h isomp4mux: fix copy and paste 2014-02-18 22:35:45 +01:00
gstqtmux.c isomp4/mux: add a fragment mode for initial moov with data 2020-09-21 12:08:14 +10:00
gstqtmux.h isomp4/mux: add a fragment mode for initial moov with data 2020-09-21 12:08:14 +10:00
GstQTMux.prs qtmux: Implement the preset interface. 2016-09-01 13:16:49 +03:00
gstqtmuxmap.c isomp4/mux: add a fragment mode for initial moov with data 2020-09-21 12:08:14 +10:00
gstqtmuxmap.h isomp4: qtmux: Add Closed Caption support 2018-04-23 15:58:10 +02:00
gstrtpxqtdepay.c good: use new gst_element_class_add_static_pad_template() 2016-03-24 14:32:20 +02:00
gstrtpxqtdepay.h Fix FSF address 2012-11-04 00:07:18 +00:00
isomp4-plugin.c Don't use setlocale in plugins() 2013-09-01 21:18:38 +01:00
LEGAL quicktime: rename plugin to isomp4 2011-04-30 17:58:02 +01:00
meson.build qtdemux: Split tag reading functions out 2020-06-18 14:41:27 +00:00
properties.c Fix FSF address 2012-11-04 00:07:18 +00:00
properties.h docs: fix "Symbol name not found at the start of the comment block" 2015-07-07 17:12:02 +02:00
qtatomparser.h Fix FSF address 2012-11-04 00:07:18 +00:00
qtdemux.c qtdemux: increase some logging on streams and sample parsing 2020-09-21 12:08:14 +10:00
qtdemux.h qtdemux: Split tag reading functions out 2020-06-18 14:41:27 +00:00
qtdemux_debug.h qtdemux: Apply qtdemux debug category to gstisoff 2018-01-29 18:40:02 +00:00
qtdemux_dump.c qtdemux: Add initial support for AV1 demuxing 2018-07-26 14:14:53 -04:00
qtdemux_dump.h isomp4: Add gmhd/gmin debugging 2018-01-31 19:12:48 +01:00
qtdemux_lang.c documentation: fix a number of typos 2019-10-05 22:38:11 +00:00
qtdemux_lang.h Fix FSF address 2012-11-04 00:07:18 +00:00
qtdemux_tags.c qtdemux: Split tag reading functions out 2020-06-18 14:41:27 +00:00
qtdemux_tags.h qtdemux: Split tag reading functions out 2020-06-18 14:41:27 +00:00
qtdemux_tree.c qtdemux: Move some tree parsing files out to a separate file. 2020-06-18 14:41:27 +00:00
qtdemux_tree.h qtdemux: Move some tree parsing files out to a separate file. 2020-06-18 14:41:27 +00:00
qtdemux_types.c qtdemux: Add 'aavd' and related fourcc codes for AAX encrypted audio 2020-09-16 00:59:34 +00:00
qtdemux_types.h qtdemux: handle default-base-is-moof flag 2015-08-05 18:12:45 -03:00
qtpalette.h Fix FSF address 2012-11-04 00:07:18 +00:00