From: Edward Hervey Date: Fri, 12 Dec 2008 10:54:45 +0000 (+0000) Subject: gst/playback/gsturidecodebin.c: Free the factory array when finalizing. X-Git-Tag: 1.19.3~511^2~10133 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=89413e390ca14bb14b834449b5bb08487aa47e9b;p=platform%2Fupstream%2Fgstreamer.git gst/playback/gsturidecodebin.c: Free the factory array when finalizing. 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. --- diff --git a/ChangeLog b/ChangeLog index b1e0bfd..b2625a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 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), (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 --- 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 e5ea264..034d728 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 2c19009..0bba38b 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