gstreamer/gst/isomp4
Jan Schmidt 7c5f2185a9 qtmux: Make sure to write 64-bit STCO table when needed.
qtmux attempts to choose between writing a 32-bit stco chunk offset table
when it can, but switch to a 64-bit co64 table when file offsets go over
4GB.

This patch fixes a problem where the atom handling code was checking
mdat-relative offsets instead of the final file offset (computed by
adding the mdat position plus the mdat-relative offset) - leading to
problems where files with a size between 4GB and 4GB+offset-of-the-mdat
would write incorrect STCO tables with some samples having truncated
32-bit offsets.

Smaller files write STCO correctly, larger files would switch to
co64 and also output correctly.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/970>
2021-04-30 08:12:47 +10:00
..
atoms.c qtmux: Make sure to write 64-bit STCO table when needed. 2021-04-30 08:12:47 +10:00
atoms.h qtmux: Make sure to write 64-bit STCO table when needed. 2021-04-30 08:12:47 +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: added support for cbcs encryption scheme 2021-02-04 12:30:22 +01: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
gstisomp4element.c isomp4: allow per feature registration 2021-03-29 12:45:22 +02:00
gstisomp4elements.h isomp4: allow per feature registration 2021-03-29 12:45:22 +02:00
gstqtmoovrecover.c isomp4: allow per feature registration 2021-03-29 12:45:22 +02:00
gstqtmoovrecover.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstqtmux-doc.c isomp4: Rename GstQTMux to GstBaseQTMux to avoid breaking API 2020-09-30 09:18:13 -03:00
gstqtmux-doc.h qtmux: make documentation happy 2020-09-21 12:09:09 +10:00
gstqtmux.c qtmux: Protect against writing absurd sample durations 2021-04-13 00:18:36 +10:00
gstqtmux.h qtmux: Protect against writing absurd sample durations 2021-04-13 00:18:36 +10:00
GstQTMux.prs qtmux: Implement the preset interface. 2016-09-01 13:16:49 +03:00
gstqtmuxmap.c isomp4: Rename GstQTMux to GstBaseQTMux to avoid breaking API 2020-09-30 09:18:13 -03:00
gstqtmuxmap.h isomp4: qtmux: Add Closed Caption support 2018-04-23 15:58:10 +02:00
gstrtpxqtdepay.c isomp4: allow per feature registration 2021-03-29 12:45:22 +02:00
gstrtpxqtdepay.h Fix FSF address 2012-11-04 00:07:18 +00:00
isomp4-plugin.c isomp4: allow per feature registration 2021-03-29 12:45:22 +02:00
LEGAL quicktime: rename plugin to isomp4 2011-04-30 17:58:02 +01:00
meson.build isomp4: allow per feature registration 2021-03-29 12:45:22 +02: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 isomp4: allow per feature registration 2021-03-29 12:45:22 +02: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