diff --git a/ChangeLog b/ChangeLog index b1e0bfd625..b2625a2344 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-12-12 Edward Hervey + + * 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 * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_base_init), diff --git a/common b/common index a8728f3f81..f811de62e9 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit a8728f3f810904c94f0b6678a7633d551514f335 +Subproject commit f811de62e9cea6e3d4174a0b172733b2c7952c1d diff --git a/gst/playback/gsturidecodebin.c b/gst/playback/gsturidecodebin.c index e5ea264ba1..034d72886a 100644 --- a/gst/playback/gsturidecodebin.c +++ b/gst/playback/gsturidecodebin.c @@ -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); } diff --git a/sys/v4l/gstv4lsrc.c b/sys/v4l/gstv4lsrc.c index 2c190090e5..0bba38bb57 100644 --- a/sys/v4l/gstv4lsrc.c +++ b/sys/v4l/gstv4lsrc.c @@ -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