diff --git a/gst/gstpad.c b/gst/gstpad.c index 79bbb2e25a..ad44d8388e 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -4447,7 +4447,7 @@ idle_probe_stopped: gboolean gst_pad_push_event (GstPad * pad, GstEvent * event) { - gboolean res = TRUE; + gboolean res; GstPadProbeType type; gboolean sticky, serialized; @@ -4487,13 +4487,12 @@ gst_pad_push_event (GstPad * pad, GstEvent * event) * sticky events */ res = (check_sticky (pad) == GST_FLOW_OK); } - - /* If pushing sticky events did not fail and this is no sticky event - * push it right away */ - if (res && !sticky) { + if (!sticky) { + /* other events are pushed right away */ res = (gst_pad_push_event_unchecked (pad, event, type) == GST_FLOW_OK); } else { gst_event_unref (event); + res = TRUE; } GST_OBJECT_UNLOCK (pad);