typefind: fix leak in gst_type_find_element_src_event()
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Mon, 13 Apr 2015 12:40:22 +0000 (14:40 +0200)
committerThiago Santos <thiagoss@osg.samsung.com>
Mon, 13 Apr 2015 13:33:41 +0000 (10:33 -0300)
gst_type_find_element_src_event() is supposed to consume @event but wasn't
doing so when it was handling the event itself.

https://bugzilla.gnome.org/show_bug.cgi?id=747775

Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
plugins/elements/gsttypefindelement.c

index afcfb8e..9475a65 100644 (file)
@@ -500,6 +500,7 @@ gst_type_find_element_src_event (GstPad * pad, GstObject * parent,
     GstEvent * event)
 {
   GstTypeFindElement *typefind = GST_TYPE_FIND_ELEMENT (parent);
+  gboolean result;
 
   if (typefind->mode != MODE_NORMAL) {
     /* need to do more? */
@@ -510,7 +511,9 @@ gst_type_find_element_src_event (GstPad * pad, GstObject * parent,
   /* Only handle seeks here if driving the pipeline */
   if (typefind->segment.format != GST_FORMAT_UNDEFINED &&
       GST_EVENT_TYPE (event) == GST_EVENT_SEEK) {
-    return gst_type_find_element_seek (typefind, event);
+    result = gst_type_find_element_seek (typefind, event);
+    gst_mini_object_unref (GST_MINI_OBJECT_CAST (event));
+    return result;
   } else {
     return gst_pad_push_event (typefind->sink, event);
   }