summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Schmidt <jan@centricular.com>2017-11-18 02:01:58 +1100
committerJan Schmidt <jan@centricular.com>2017-11-18 02:03:42 +1100
commitd485733bc5e81821963fad2613fbb92b52d6c0ed (patch)
treeb6a31488f7c1e75b0b3bdb787ee24e7607f2f064
parent6a48db94aa52fed743f975ea7dc4e0dca6b70c5d (diff)
downloadgstreamer-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.c10
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);