From 9517bd9b3413d97e83bfa4c3b5ddeb34956dbc1c Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Wed, 21 Dec 2016 00:11:06 +1100 Subject: [PATCH] parsebin: Ignore failure to send sticky events When plugging and then exposing a parser, don't fail if it fails to send sticky events. The most likely reason is that things were flushed due to the app immediately doing a seek, but we can't detect flushing separately to other error conditions without a gst_pad_send_event_full() core function that returns a GstFlowReturn. --- gst/playback/gstparsebin.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst/playback/gstparsebin.c b/gst/playback/gstparsebin.c index a33ae00ef7..c0fdf899de 100644 --- a/gst/playback/gstparsebin.c +++ b/gst/playback/gstparsebin.c @@ -2102,8 +2102,7 @@ connect_pad (GstParseBin * parsebin, GstElement * src, GstParsePad * parsepad, GST_PAD_STREAM_LOCK (sinkpad); if ((gst_element_set_state (element, - GST_STATE_PAUSED)) == GST_STATE_CHANGE_FAILURE || - !send_sticky_events (parsebin, pad)) { + GST_STATE_PAUSED)) == GST_STATE_CHANGE_FAILURE) { GstParseElement *dtmp = NULL; GstElement *tmp = NULL; GstMessage *error_msg; @@ -2183,6 +2182,7 @@ connect_pad (GstParseBin * parsebin, GstElement * src, GstParsePad * parsepad, continue; } else { + send_sticky_events (parsebin, pad); /* Everything went well, the spice must flow now */ GST_PAD_STREAM_UNLOCK (sinkpad); }