various: fix pad template leaks
[platform/upstream/gstreamer.git] / sys / v4l2 / gstv4l2sink.c
index 8672a1d..f6aba24 100644 (file)
@@ -236,6 +236,7 @@ gst_v4l2sink_base_init (gpointer g_class)
 {
   GstElementClass *gstelement_class = GST_ELEMENT_CLASS (g_class);
   GstV4l2SinkClass *gstv4l2sink_class = GST_V4L2SINK_CLASS (g_class);
+  GstPadTemplate *pad_template;
 
   gstv4l2sink_class->v4l2_class_devices = NULL;
 
@@ -245,10 +246,11 @@ gst_v4l2sink_base_init (gpointer g_class)
       "Video (video4linux2) Sink", "Sink/Video",
       "Displays frames on a video4linux2 device", "Rob Clark <rob@ti.com>,");
 
-  gst_element_class_add_pad_template
-      (gstelement_class,
+  pad_template =
       gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
-          gst_v4l2_object_get_all_caps ()));
+      gst_v4l2_object_get_all_caps ());
+  gst_element_class_add_pad_template (gstelement_class, pad_template);
+  gst_object_unref (pad_template);
 }
 
 static void