diff options
author | Stefan Kost <ensonic@users.sourceforge.net> | 2007-09-24 10:53:37 +0000 |
---|---|---|
committer | Stefan Kost <ensonic@users.sourceforge.net> | 2007-09-24 10:53:37 +0000 |
commit | 1af510f8d54ddeb58f1c8e6db3f4fe45d21dd026 (patch) | |
tree | 5562881810015d176f8ed198f09a9f1f2dc8e602 /sys | |
parent | 9525b8056fb7dbd279b4622c56e84beca56c0ad4 (diff) | |
download | gst-plugins-bad-1af510f8d54ddeb58f1c8e6db3f4fe45d21dd026.tar.gz gst-plugins-bad-1af510f8d54ddeb58f1c8e6db3f4fe45d21dd026.tar.bz2 gst-plugins-bad-1af510f8d54ddeb58f1c8e6db3f4fe45d21dd026.zip |
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.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dshowsrcwrapper/gstdshowaudiosrc.c | 2 | ||||
-rw-r--r-- | sys/dshowsrcwrapper/gstdshowvideosrc.c | 8 | ||||
-rw-r--r-- | sys/vcd/vcdsrc.c | 13 |
3 files changed, 20 insertions, 3 deletions
diff --git a/sys/dshowsrcwrapper/gstdshowaudiosrc.c b/sys/dshowsrcwrapper/gstdshowaudiosrc.c index 87c12789..4d960e64 100644 --- a/sys/dshowsrcwrapper/gstdshowaudiosrc.c +++ b/sys/dshowsrcwrapper/gstdshowaudiosrc.c @@ -239,6 +239,8 @@ gst_dshowaudiosrc_dispose (GObject * gobject) } CoUninitialize (); + + G_OBJECT_CLASS (parent_class)->dispose (object); } diff --git a/sys/dshowsrcwrapper/gstdshowvideosrc.c b/sys/dshowsrcwrapper/gstdshowvideosrc.c index 38b779dd..72fbc58b 100644 --- a/sys/dshowsrcwrapper/gstdshowvideosrc.c +++ b/sys/dshowsrcwrapper/gstdshowvideosrc.c @@ -35,9 +35,9 @@ GST_DEBUG_CATEGORY_STATIC (dshowvideosrc_debug); #define GST_CAT_DEFAULT dshowvideosrc_debug const GUID MEDIASUBTYPE_I420 - = - { 0x30323449, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, - 0x71} }; + = { 0x30323449, 0x0000, 0x0010, {0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, + 0x71} +}; static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, @@ -245,6 +245,8 @@ gst_dshowvideosrc_dispose (GObject * gobject) } CoUninitialize (); + + G_OBJECT_CLASS (parent_class)->dispose (object); } static gboolean 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) |