mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-03 15:06:34 +00:00
52b63de19a
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> |
||
---|---|---|
.. | ||
atoms.c | ||
atoms.h | ||
atomsrecovery.c | ||
atomsrecovery.h | ||
descriptors.c | ||
descriptors.h | ||
fourcc.h | ||
gstisoff.c | ||
gstisoff.h | ||
gstqtmoovrecover.c | ||
gstqtmoovrecover.h | ||
gstqtmux-doc.c | ||
gstqtmux-doc.h | ||
gstqtmux.c | ||
gstqtmux.h | ||
GstQTMux.prs | ||
gstqtmuxmap.c | ||
gstqtmuxmap.h | ||
gstrtpxqtdepay.c | ||
gstrtpxqtdepay.h | ||
isomp4-plugin.c | ||
LEGAL | ||
meson.build | ||
properties.c | ||
properties.h | ||
qtatomparser.h | ||
qtdemux.c | ||
qtdemux.h | ||
qtdemux_debug.h | ||
qtdemux_dump.c | ||
qtdemux_dump.h | ||
qtdemux_lang.c | ||
qtdemux_lang.h | ||
qtdemux_tags.c | ||
qtdemux_tags.h | ||
qtdemux_tree.c | ||
qtdemux_tree.h | ||
qtdemux_types.c | ||
qtdemux_types.h | ||
qtpalette.h |