diff options
author | Jan Schmidt <jan@centricular.com> | 2017-11-18 02:01:58 +1100 |
---|---|---|
committer | Jan Schmidt <jan@centricular.com> | 2017-11-18 02:03:42 +1100 |
commit | d485733bc5e81821963fad2613fbb92b52d6c0ed (patch) | |
tree | b6a31488f7c1e75b0b3bdb787ee24e7607f2f064 | |
parent | 6a48db94aa52fed743f975ea7dc4e0dca6b70c5d (diff) | |
download | gstreamer-plugins-good-d485733bc5e81821963fad2613fbb92b52d6c0ed.tar.gz |
splitmuxsrc: Don't return FALSE from event handling.
Returning FALSE because we drop an event means that
internal sources like qtdemux might throw an error
and break the whole pipeline. The only time it can
happen is either flushing or shutdown, and those
will be handled anyway.
-rw-r--r-- | gst/multifile/gstsplitmuxpartreader.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gst/multifile/gstsplitmuxpartreader.c b/gst/multifile/gstsplitmuxpartreader.c index 784c4bbdf..75171cb98 100644 --- a/gst/multifile/gstsplitmuxpartreader.c +++ b/gst/multifile/gstsplitmuxpartreader.c @@ -456,12 +456,8 @@ splitmux_part_pad_event (GstPad * pad, GstObject * parent, GstEvent * event) GST_EVENT_TYPE (event) == GST_EVENT_FLUSH_STOP) goto drop_event; - if (!block_until_can_push (reader)) { - SPLITMUX_PART_UNLOCK (reader); - gst_object_unref (target); - gst_event_unref (event); - return FALSE; - } + if (!block_until_can_push (reader)) + goto drop_event; switch (GST_EVENT_TYPE (event)) { case GST_EVENT_GAP:{ @@ -1360,6 +1356,8 @@ bus_handler (GstBin * bin, GstMessage * message) /* Make sure to set the state to failed and wake up the listener * on error */ SPLITMUX_PART_LOCK (reader); + GST_ERROR_OBJECT (reader, "Got error message from child %" GST_PTR_FORMAT + " marking this reader as failed", GST_MESSAGE_SRC (message)); reader->prep_state = PART_STATE_FAILED; SPLITMUX_PART_BROADCAST (reader); SPLITMUX_PART_UNLOCK (reader); |