gst/playback/gsturidecodebin.c: Free the factory array when finalizing.
authorEdward Hervey <bilboed@bilboed.com>
Fri, 12 Dec 2008 10:54:45 +0000 (10:54 +0000)
committerEdward Hervey <bilboed@bilboed.com>
Fri, 12 Dec 2008 10:54:45 +0000 (10:54 +0000)
Original commit message from CVS:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_finalize):
Free the factory array when finalizing.
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_base_init):
Use a GstStaticPadTemplate since the src pad caps are fixed.

ChangeLog
common
gst/playback/gsturidecodebin.c
sys/v4l/gstv4lsrc.c

index b1e0bfd..b2625a2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2008-12-12  Edward Hervey  <edward.hervey@collabora.co.uk>
 
+       * gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_finalize):
+       Free the factory array when finalizing.
+       * sys/v4l/gstv4lsrc.c: (gst_v4lsrc_base_init):
+       Use a GstStaticPadTemplate since the src pad caps are fixed.
+
+2008-12-12  Edward Hervey  <edward.hervey@collabora.co.uk>
+
        * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_base_init),
        (gst_vorbis_enc_init):
        Make vorbisenc's pad template behave like vorbisdec's. Fixes a leak with
diff --git a/common b/common
index a8728f3..f811de6 160000 (submodule)
--- a/common
+++ b/common
@@ -1 +1 @@
-Subproject commit a8728f3f810904c94f0b6678a7633d551514f335
+Subproject commit f811de62e9cea6e3d4174a0b172733b2c7952c1d
index e5ea264..034d728 100644 (file)
@@ -432,6 +432,10 @@ gst_uri_decode_bin_finalize (GObject * obj)
   g_mutex_free (dec->lock);
   g_free (dec->uri);
   g_free (dec->encoding);
+  if (dec->factories) {
+    g_value_array_free (dec->factories);
+    dec->factories = NULL;
+  }
 
   G_OBJECT_CLASS (parent_class)->finalize (obj);
 }
index 2c19009..0bba38b 100644 (file)
@@ -53,6 +53,11 @@ enum
 
 GST_BOILERPLATE (GstV4lSrc, gst_v4lsrc, GstV4lElement, GST_TYPE_V4LELEMENT);
 
+static GstStaticPadTemplate v4l_src_template = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("ANY")
+    );
 
 /* basesrc methods */
 static gboolean gst_v4lsrc_start (GstBaseSrc * src);
@@ -77,8 +82,7 @@ gst_v4lsrc_base_init (gpointer g_class)
   gst_element_class_set_details (gstelement_class, &gst_v4lsrc_details);
 
   gst_element_class_add_pad_template (gstelement_class,
-      gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
-          gst_caps_new_any ()));
+      gst_static_pad_template_get (&v4l_src_template));
 }
 
 static void