gstreamer/gst/isomp4
Alicia Boya García 8dd42666e3 qtdemux: Fix race on pad reconnection
Elements emitting frames through several srcpads should use a
flow combiner to aggregate the chain returns and therefore only return
GST_FLOW_NOT_LINKED to upstream when all the downstream pads have
received GST_FLOW_NOT_LINKED.

In addition to that, in order to handle pads being relinked downstream,
the flow combiner should be reset in response to RECONFIGURE events.
This ensures that a both srcpads process a chain operation before a
GST_FLOW_NOT_LINKED can be propagated upstream (which would usually stop
the pipeline).

Otherwise, in a configuration with two srcpads, only one linked at a
time, after the relink the element could chain data through the now
unlinked pad and the flow combiner would resolve as GST_FLOW_NOT_LINKED
(stopping the pipeline) just because the now linked pad has not been
chained yet to update the flow combiner.

This patch adds handling of RECONFIGURE events to qtdemux. Also, since
this event handling causes the flow combiner to be used from a thread
other than the qtdemux streaming thread, usages of the flow combiner
has been guarded by the object lock.
2020-01-09 18:43:02 +00:00
..
atoms.c good: Avoid usage of deprecated API 2019-10-16 07:46:58 +00:00
atoms.h isomp4: qtmux: Add Closed Caption support 2018-04-23 15:58:10 +02: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: Recognize more AV1 atoms 2018-07-26 14:14:53 -04: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 qtmux: protect access to GstElement.sinkpads 2019-12-16 14:17:38 +00:00
gstqtmux.h qtmux: port to GstAggregator 2019-12-16 14:17:38 +00:00
GstQTMux.prs qtmux: Implement the preset interface. 2016-09-01 13:16:49 +03:00
gstqtmuxmap.c isomp4: Replace GST_VIDEO_CAPTION_TYPE_CEA608_IN_CEA708_RAW with CEA608_S334_1A 2018-12-15 21:31:20 +00: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 doc: Port documentation to hotdoc 2019-05-13 11:34:56 -04: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 race on pad reconnection 2020-01-09 18:43:02 +00:00
qtdemux.h qtdemux: Specify REDIRECT information in error message 2019-09-30 12:15:43 -03: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_types.c qtdemux: Recognize more AV1 atoms 2018-07-26 14:14:53 -04: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