diff options
author | Edward Hervey <bilboed@bilboed.com> | 2008-12-12 10:54:45 +0000 |
---|---|---|
committer | Edward Hervey <bilboed@bilboed.com> | 2008-12-12 10:54:45 +0000 |
commit | 89413e390ca14bb14b834449b5bb08487aa47e9b (patch) | |
tree | 2333e8f8240d7e1bb7a74a4a3838ea91c62242eb | |
parent | a3c1a0507aa0ef8f4d83ac0783418d3d130b8894 (diff) |
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.
-rw-r--r-- | ChangeLog | 7 | ||||
m--------- | common | 0 | ||||
-rw-r--r-- | gst/playback/gsturidecodebin.c | 4 | ||||
-rw-r--r-- | sys/v4l/gstv4lsrc.c | 8 |
4 files changed, 17 insertions, 2 deletions
@@ -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 -Subproject a8728f3f810904c94f0b6678a7633d551514f33 +Subproject f811de62e9cea6e3d4174a0b172733b2c7952c1 diff --git a/gst/playback/gsturidecodebin.c b/gst/playback/gsturidecodebin.c index e5ea264b..034d7288 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 2c190090..0bba38bb 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 |