gstreamer/gst/isomp4
Thiago Santos 5994b30257 qtdemux: fix leak by flushing previous sample info from trak
In fragmented streaming, multiple moov/moof will be parsed and their
previously stored samples array might leak when new values are parsed.
The parse_trak and callees won't free the previously stored values
before parsing the new ones.

In step-by-step, this is what happens:

1) initial moov is parsed, traks as well, streams are created. The
   trak doesn't contain samples because they are in the moof's trun
   boxes. n_samples is set to 0 while parsing the trak and the samples
   array is still NULL.
2) moofs are parsed, and their trun boxes will increase n_samples and
   create/extend the samples array
3) At some point a new moov might be sent (bitrate switching, for example)
   and parsing the trak will overwrite n_samples with the values from
   this trak. If the n_samples is set to 0 qtdemux will assume that
   the samples array is NULL and will leak it when a new one is
   created for the subsequent moofs.

This patch makes qtdemux properly free previous sample data before
creating new ones and adds an assert to catch future occurrences of
this issue when the code changes.
2015-07-08 11:53:44 -03:00
..
atoms.c docs: fix "Symbol name not found at the start of the comment block" 2015-07-07 17:12:02 +02:00
atoms.h docs: fix "Symbol name not found at the start of the comment block" 2015-07-07 17:12:02 +02:00
atomsrecovery.c docs: fix "Symbol name not found at the start of the comment block" 2015-07-07 17:12:02 +02:00
atomsrecovery.h Fix FSF address 2012-11-04 00:07:18 +00: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 cslg: Add Composition Shift Least Greatest Atom 2015-06-17 15:21:16 -04:00
gstisoff.c Fix double semicolons 2015-03-10 09:31:20 +00:00
gstisoff.h isomp4: Redefine gst_isoff_ symbols to gst_isoff_qt_ 2015-02-17 12:31:06 +01:00
gstqtmoovrecover.c docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 23:35:17 +01:00
gstqtmoovrecover.h Fix FSF address 2012-11-04 00:07:18 +00:00
gstqtmux-doc.c docs: remove outdated and pointless 'Last reviewed' lines from docs 2014-04-26 23:35:17 +01:00
gstqtmux-doc.h isomp4mux: fix copy and paste 2014-02-18 22:35:45 +01:00
gstqtmux.c qtmux: Correctly calculate the elst media start 2015-06-23 22:34:36 -04:00
gstqtmux.h qtmux: Correctly calculate the elst media start 2015-06-23 22:34:36 -04:00
gstqtmuxmap.c qtmux: add AC-3 muxing support 2015-06-11 01:11:31 -03:00
gstqtmuxmap.h qtmux: add subtitle support to qtmuxmap structures 2014-02-07 13:10:24 -03:00
gstrtpxqtdepay.c Rename property enums from ARG_ to PROP_ 2015-04-27 11:22:11 +01: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 Remove obsolete Android build cruft 2015-04-26 17:55:07 +01: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: fix leak by flushing previous sample info from trak 2015-07-08 11:53:44 -03:00
qtdemux.h qtdemux: Initial 'sidx' atom parsing support 2015-02-12 14:23:21 -03:00
qtdemux.vcproj quicktime: rename plugin to isomp4 2011-04-30 17:58:02 +01:00
qtdemux_dump.c cslg: Add Composition Shift Least Greatest Atom 2015-06-17 15:21:16 -04:00
qtdemux_dump.h cslg: Add Composition Shift Least Greatest Atom 2015-06-17 15:21:16 -04:00
qtdemux_lang.c qtdemux: fix language code parsing for 3-letter codes starting with 'a' 2014-07-21 18:21:50 +01:00
qtdemux_lang.h Fix FSF address 2012-11-04 00:07:18 +00:00
qtdemux_types.c cslg: Add Composition Shift Least Greatest Atom 2015-06-17 15:21:16 -04: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