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.
This commit is contained in:
Jan Schmidt 2016-12-21 00:11:06 +11:00
parent 19ece085ac
commit 9517bd9b34

View file

@ -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);
}