From 1af510f8d54ddeb58f1c8e6db3f4fe45d21dd026 Mon Sep 17 00:00:00 2001 From: Stefan Kost Date: Mon, 24 Sep 2007 10:53:37 +0000 Subject: Massive leak fixing, plus code cleanups. Original commit message from CVS: * ext/audioresample/gstaudioresample.c: * ext/x264/gstx264enc.c: * gst/dvdspu/gstdvdspu.c: * gst/dvdspu/gstdvdspu.h: * gst/festival/gstfestival.c: * gst/h264parse/gsth264parse.c: * gst/mpegtsparse/mpegtspacketizer.c: * gst/mpegtsparse/mpegtsparse.c: * gst/multifile/gstmultifilesink.c: * gst/multifile/gstmultifilesrc.c: * gst/nuvdemux/gstnuvdemux.c: * sys/dshowsrcwrapper/gstdshowaudiosrc.c: * sys/dshowsrcwrapper/gstdshowvideosrc.c: * sys/vcd/vcdsrc.c: Massive leak fixing, plus code cleanups. --- sys/vcd/vcdsrc.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'sys/vcd') diff --git a/sys/vcd/vcdsrc.c b/sys/vcd/vcdsrc.c index b48e307b..0ccebc33 100644 --- a/sys/vcd/vcdsrc.c +++ b/sys/vcd/vcdsrc.c @@ -83,6 +83,8 @@ gst_vcdsrc_setup_interfaces (GType type) GST_BOILERPLATE_FULL (GstVCDSrc, gst_vcdsrc, GstPushSrc, GST_TYPE_PUSH_SRC, gst_vcdsrc_setup_interfaces); +static void gst_vcdsrc_finalize (GObject * object); + static void gst_vcdsrc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); static void gst_vcdsrc_get_property (GObject * object, guint prop_id, @@ -116,6 +118,7 @@ gst_vcdsrc_class_init (GstVCDSrcClass * klass) gobject_class->set_property = gst_vcdsrc_set_property; gobject_class->get_property = gst_vcdsrc_get_property; + gobject_class->finalize = gst_vcdsrc_finalize; g_object_class_install_property (gobject_class, PROP_DEVICE, g_param_spec_string ("device", "Device", @@ -149,6 +152,16 @@ gst_vcdsrc_init (GstVCDSrc * vcdsrc, GstVCDSrcClass * klass) vcdsrc->max_errors = 16; } +static void +gst_vcdsrc_finalize (GObject * object) +{ + GstVCDSrc *vcdsrc = GST_VCDSRC (object); + + g_free (vcdsrc->device); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + static inline guint64 gst_vcdsrc_msf (GstVCDSrc * vcdsrc, gint track) -- cgit v1.2.1