From b3bf6cdfd87003c0381b585cf646054a988e7a51 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Mon, 11 Jul 2011 11:37:28 +0200 Subject: [PATCH] pad: avoid inadvertently dropping an event ... particularly a non-sticky serialized event that happens to pass when an event update is pending. --- gst/gstpad.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gst/gstpad.c b/gst/gstpad.c index 40b699a2a5..56a402964b 100644 --- a/gst/gstpad.c +++ b/gst/gstpad.c @@ -4539,7 +4539,11 @@ gst_pad_send_event (GstPad * pad, GstEvent * event) gst_event_unref (event); result = TRUE; - } else { + } + + /* ensure to pass on event; + * note that a sticky event has already been updated above */ + if (G_LIKELY (!needs_events || !sticky)) { GstPadEventFunction eventfunc; if (G_UNLIKELY ((eventfunc = GST_PAD_EVENTFUNC (pad)) == NULL))