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.
This commit is contained in:
Edward Hervey 2008-12-12 10:54:45 +00:00
parent a3c1a0507a
commit 89413e390c
4 changed files with 18 additions and 3 deletions

View file

@ -1,3 +1,10 @@
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> 2008-12-12 Edward Hervey <edward.hervey@collabora.co.uk>
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_base_init), * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_base_init),

2
common

@ -1 +1 @@
Subproject commit a8728f3f810904c94f0b6678a7633d551514f335 Subproject commit f811de62e9cea6e3d4174a0b172733b2c7952c1d

View file

@ -432,6 +432,10 @@ gst_uri_decode_bin_finalize (GObject * obj)
g_mutex_free (dec->lock); g_mutex_free (dec->lock);
g_free (dec->uri); g_free (dec->uri);
g_free (dec->encoding); g_free (dec->encoding);
if (dec->factories) {
g_value_array_free (dec->factories);
dec->factories = NULL;
}
G_OBJECT_CLASS (parent_class)->finalize (obj); G_OBJECT_CLASS (parent_class)->finalize (obj);
} }

View file

@ -53,6 +53,11 @@ enum
GST_BOILERPLATE (GstV4lSrc, gst_v4lsrc, GstV4lElement, GST_TYPE_V4LELEMENT); 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 */ /* basesrc methods */
static gboolean gst_v4lsrc_start (GstBaseSrc * src); 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_set_details (gstelement_class, &gst_v4lsrc_details);
gst_element_class_add_pad_template (gstelement_class, gst_element_class_add_pad_template (gstelement_class,
gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, gst_static_pad_template_get (&v4l_src_template));
gst_caps_new_any ()));
} }
static void static void