+2007-11-21 Wim Taymans <wim.taymans@gmail.com>
+
+ * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
+ Only send upstream events upstream. Fixes #498746.
+
2007-11-21 Wim Taymans <wim.taymans@gmail.com>
Patch by: Laurent Glayal <spglegle at yahoo dot fr>
{
GstPad *pad;
GstBaseSink *basesink = GST_BASE_SINK (element);
- gboolean forward = TRUE, result = TRUE;
+ gboolean forward, result = TRUE;
+
+ /* only push UPSTREAM events upstream */
+ forward = GST_EVENT_IS_UPSTREAM (event);
switch (GST_EVENT_TYPE (event)) {
case GST_EVENT_LATENCY:
/* don't forward, yet */
forward = FALSE;
- gst_event_unref (event);
break;
}
default:
result = gst_pad_push_event (pad, event);
gst_object_unref (pad);
+ } else {
+ /* not forwarded, unref the event */
+ gst_event_unref (event);
}
return result;
}