gstreamer/gst/isomp4
Thiago Santos 0e78ffc9d6 qtdemux: When using a buffered mdat, store all received data for later use
In push mode, when qtdemux can't use a seek to skip the mdat buffer it has
to buffer it for later use.

The issue is that after parsing the next moov/moof, there might be some
trailing bytes from the next atom in the file. This data was being discarded
along with the already parsed moov/moof and playback would fail to continue
after the contents of this moov/moof are played.

This is particularly bad on fragmented files that have the mdat before the
corresponding moof. So you'd get:

mdat|moof|mdat|moof ...

When a moof was received, it usually came with some extra bytes that would
belong to the next mdat (because upstream doesn't care about atoms alignment).
So those bytes were being discarded and playback would fail.

This patch makes qtdemux store those extra bytes to reuse them later after the
mdat is emptied.

https://bugzilla.gnome.org/show_bug.cgi?id=710623
2013-11-07 11:22:03 -03:00
..
atoms.c qtdemux: Add support for the avc3 sample entry format of the AVC file format 2013-09-04 13:33:22 +02:00
atoms.h qtmux: set language to 'undefined' instead of English by default 2013-01-24 21:08:51 +00:00
atomsrecovery.c Fix FSF address 2012-11-04 00:07:18 +00:00
atomsrecovery.h Fix FSF address 2012-11-04 00:07:18 +00:00
descriptors.c Fix FSF address 2012-11-04 00:07:18 +00:00
descriptors.h Fix FSF address 2012-11-04 00:07:18 +00:00
fourcc.h qtdemux: Add support for the avc3 sample entry format of the AVC file format 2013-09-04 13:33:22 +02:00
ftypcc.h qtdemux: Add support for the avc3 sample entry format of the AVC file format 2013-09-04 13:33:22 +02:00
gstqtmoovrecover.c Fix FSF address 2012-11-04 00:07:18 +00:00
gstqtmoovrecover.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstqtmux-doc.c Fix FSF address 2012-11-04 00:07:18 +00:00
gstqtmux-doc.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstqtmux.c qtmux: Don't error out if downstream is not seekable for non-fragmented variants 2013-09-25 13:25:34 +02:00
gstqtmux.h qtmux: deprecate dts-method property 2013-03-22 14:14:04 -07:00
gstqtmuxmap.c mp4mux: Do not require framerate in peer video caps 2013-09-28 13:02:11 +02:00
gstqtmuxmap.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstrtpxqtdepay.c qtdemux: Add support for the avc3 sample entry format of the AVC file format 2013-09-04 13:33:22 +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
Makefile.am qtdemux: compute framerate from average sample duration 2013-07-01 12:53:17 +02:00
properties.c Fix FSF address 2012-11-04 00:07:18 +00:00
properties.h Fix FSF address 2012-11-04 00:07:18 +00:00
qtatomparser.h Fix FSF address 2012-11-04 00:07:18 +00:00
qtdemux.c qtdemux: When using a buffered mdat, store all received data for later use 2013-11-07 11:22:03 -03:00
qtdemux.h qtdemux: When using a buffered mdat, store all received data for later use 2013-11-07 11:22:03 -03:00
qtdemux.vcproj quicktime: rename plugin to isomp4 2011-04-30 17:58:02 +01:00
qtdemux_dump.c Fix FSF address 2012-11-04 00:07:18 +00:00
qtdemux_dump.h Fix FSF address 2012-11-04 00:07:18 +00:00
qtdemux_fourcc.h qtdemux: Add HEVC support 2013-10-02 11:54:24 +02:00
qtdemux_lang.c Fix FSF address 2012-11-04 00:07:18 +00:00
qtdemux_lang.h Fix FSF address 2012-11-04 00:07:18 +00:00
qtdemux_types.c qtdemux: Add HEVC support 2013-10-02 11:54:24 +02:00
qtdemux_types.h Fix FSF address 2012-11-04 00:07:18 +00:00
qtpalette.h Fix FSF address 2012-11-04 00:07:18 +00:00