summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Schmidt <jan@centricular.com>2016-12-21 00:11:06 +1100
committerSebastian Dröge <sebastian@centricular.com>2016-12-22 14:45:58 +0200
commitfb4b5449025ed6d7ae5a53c549746e79aff9db2b (patch)
tree3c6ae87647a7aba889a5d78eece0940fe4595f4a
parentaa5f5ba8d162e9f47a3ddbfca7565a22191b65fb (diff)
downloadgstreamer-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.c4
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);
}