plugins: fix pad template ref leaks.
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Sun, 5 Feb 2012 17:24:08 +0000 (18:24 +0100)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Sun, 5 Feb 2012 17:24:08 +0000 (18:24 +0100)
gst/vaapi/gstvaapidecode.c
gst/vaapi/gstvaapidownload.c
gst/vaapi/gstvaapisink.c
gst/vaapi/gstvaapiupload.c

index c95bd98..ea6a0ef 100644 (file)
@@ -408,20 +408,19 @@ static void
 gst_vaapidecode_base_init(gpointer klass)
 {
     GstElementClass * const element_class = GST_ELEMENT_CLASS(klass);
+    GstPadTemplate *pad_template;
 
     gst_element_class_set_details(element_class, &gst_vaapidecode_details);
 
     /* sink pad */
-    gst_element_class_add_pad_template(
-        element_class,
-        gst_static_pad_template_get(&gst_vaapidecode_sink_factory)
-    );
+    pad_template = gst_static_pad_template_get(&gst_vaapidecode_sink_factory);
+    gst_element_class_add_pad_template(element_class, pad_template);
+    gst_object_unref(pad_template);
 
     /* src pad */
-    gst_element_class_add_pad_template(
-        element_class,
-        gst_static_pad_template_get(&gst_vaapidecode_src_factory)
-    );
+    pad_template = gst_static_pad_template_get(&gst_vaapidecode_src_factory);
+    gst_element_class_add_pad_template(element_class, pad_template);
+    gst_object_unref(pad_template);
 }
 
 static void
index 3a5df38..a2af0a5 100644 (file)
@@ -220,20 +220,19 @@ static void
 gst_vaapidownload_base_init(gpointer klass)
 {
     GstElementClass * const element_class = GST_ELEMENT_CLASS(klass);
+    GstPadTemplate *pad_template;
 
     gst_element_class_set_details(element_class, &gst_vaapidownload_details);
 
     /* sink pad */
-    gst_element_class_add_pad_template(
-        element_class,
-        gst_static_pad_template_get(&gst_vaapidownload_sink_factory)
-    );
+    pad_template = gst_static_pad_template_get(&gst_vaapidownload_sink_factory);
+    gst_element_class_add_pad_template(element_class, pad_template);
+    gst_object_unref(pad_template);
 
     /* src pad */
-    gst_element_class_add_pad_template(
-        element_class,
-        gst_static_pad_template_get(&gst_vaapidownload_src_factory)
-    );
+    pad_template = gst_static_pad_template_get(&gst_vaapidownload_src_factory);
+    gst_element_class_add_pad_template(element_class, pad_template);
+    gst_object_unref(pad_template);
 }
 
 static void
index 5fdf2d6..5958754 100644 (file)
@@ -784,13 +784,13 @@ static void
 gst_vaapisink_base_init(gpointer klass)
 {
     GstElementClass * const element_class = GST_ELEMENT_CLASS(klass);
+    GstPadTemplate *pad_template;
 
     gst_element_class_set_details(element_class, &gst_vaapisink_details);
 
-    gst_element_class_add_pad_template(
-        element_class,
-        gst_static_pad_template_get(&gst_vaapisink_sink_factory)
-    );
+    pad_template = gst_static_pad_template_get(&gst_vaapisink_sink_factory);
+    gst_element_class_add_pad_template(element_class, pad_template);
+    gst_object_unref(pad_template);
 }
 
 static void
index 9ba7366..e768566 100644 (file)
@@ -211,20 +211,19 @@ static void
 gst_vaapiupload_base_init(gpointer klass)
 {
     GstElementClass * const element_class = GST_ELEMENT_CLASS(klass);
+    GstPadTemplate *pad_template;
 
     gst_element_class_set_details(element_class, &gst_vaapiupload_details);
 
     /* sink pad */
-    gst_element_class_add_pad_template(
-        element_class,
-        gst_static_pad_template_get(&gst_vaapiupload_sink_factory)
-    );
+    pad_template = gst_static_pad_template_get(&gst_vaapiupload_sink_factory);
+    gst_element_class_add_pad_template(element_class, pad_template);
+    gst_object_unref(pad_template);
 
     /* src pad */
-    gst_element_class_add_pad_template(
-        element_class,
-        gst_static_pad_template_get(&gst_vaapiupload_src_factory)
-    );
+    pad_template = gst_static_pad_template_get(&gst_vaapiupload_src_factory);
+    gst_element_class_add_pad_template(element_class, pad_template);
+    gst_object_unref(pad_template);
 }
 
 static void