diff options
author | Jan Schmidt <jan@centricular.com> | 2016-12-21 00:11:06 +1100 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-12-22 14:45:58 +0200 |
commit | fb4b5449025ed6d7ae5a53c549746e79aff9db2b (patch) | |
tree | 3c6ae87647a7aba889a5d78eece0940fe4595f4a | |
parent | aa5f5ba8d162e9f47a3ddbfca7565a22191b65fb (diff) | |
download | gstreamer-plugins-base-fb4b5449025ed6d7ae5a53c549746e79aff9db2b.tar.gz |
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.
-rw-r--r-- | gst/playback/gstparsebin.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gst/playback/gstparsebin.c b/gst/playback/gstparsebin.c index 33f9cb5dd..40ffa4b81 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); } |