From de1357a4074d7cab9df163237bcfbce653d417e7 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Sun, 4 Mar 2007 13:52:03 +0000 Subject: Fix a bunch of leaks shown by the newly-added states test. Original commit message from CVS: * ext/flac/gstflacenc.c: (gst_flac_enc_finalize): * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_class_init), (gst_gconf_audio_sink_dispose), (gst_gconf_audio_sink_finalize): * ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_base_init), (gst_gconf_audio_src_class_init), (gst_gconf_audio_src_dispose), (gst_gconf_audio_src_finalize), (do_toggle_element): * ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init), (gst_gconf_video_sink_class_init), (gst_gconf_video_sink_finalize), (do_toggle_element): * ext/gconf/gstgconfvideosrc.c: (gst_gconf_video_src_base_init), (gst_gconf_video_src_class_init), (gst_gconf_video_src_dispose), (gst_gconf_video_src_finalize), (do_toggle_element): * ext/gconf/gstswitchsink.c: (gst_switch_sink_class_init), (gst_switch_sink_reset), (gst_switch_sink_set_child): * ext/hal/gsthalaudiosink.c: (gst_hal_audio_sink_base_init): * ext/hal/gsthalaudiosrc.c: (gst_hal_audio_src_base_init): * ext/shout2/gstshout2.c: (gst_shout2send_class_init), (gst_shout2send_init), (gst_shout2send_finalize): * gst/debug/testplugin.c: (gst_test_class_init), (gst_test_finalize): * gst/flx/gstflxdec.c: (gst_flxdec_class_init), (gst_flxdec_dispose): * gst/multipart/multipartmux.c: (gst_multipart_mux_finalize): * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_finalize): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init), (gst_rtspsrc_finalize): * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_free_context): * gst/rtsp/rtspextwms.h: * gst/smpte/gstsmpte.c: (gst_smpte_class_init), (gst_smpte_finalize): * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_finalize): * gst/udp/gstudpsink.c: (gst_udpsink_class_init), (gst_udpsink_finalize): * gst/wavparse/gstwavparse.c: (gst_wavparse_dispose), (gst_wavparse_sink_activate): * sys/oss/gstosssink.c: (gst_oss_sink_finalise): * sys/oss/gstosssrc.c: (gst_oss_src_class_init), (gst_oss_src_finalize): * sys/v4l2/gstv4l2object.c: (gst_v4l2_object_destroy): * sys/v4l2/gstv4l2object.h: * sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init), (gst_v4l2src_finalize): * sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get): Fix a bunch of leaks shown by the newly-added states test. --- sys/oss/gstosssink.c | 2 ++ sys/oss/gstosssrc.c | 12 ++++++++++++ 2 files changed, 14 insertions(+) (limited to 'sys/oss') diff --git a/sys/oss/gstosssink.c b/sys/oss/gstosssink.c index 1351d1b9..9f2a7eae 100644 --- a/sys/oss/gstosssink.c +++ b/sys/oss/gstosssink.c @@ -247,6 +247,8 @@ gst_oss_sink_finalise (GObject * object) GstOssSink *osssink = GST_OSSSINK (object); g_free (osssink->device); + + G_OBJECT_CLASS (parent_class)->finalize ((GObject *) (object)); } static void diff --git a/sys/oss/gstosssrc.c b/sys/oss/gstosssrc.c index 26eb6c6f..34d901a2 100644 --- a/sys/oss/gstosssrc.c +++ b/sys/oss/gstosssrc.c @@ -97,6 +97,7 @@ static void gst_oss_src_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); static void gst_oss_src_dispose (GObject * object); +static void gst_oss_src_finalize (GstOssSrc * osssrc); static GstCaps *gst_oss_src_getcaps (GstBaseSrc * bsrc); @@ -160,6 +161,8 @@ gst_oss_src_class_init (GstOssSrcClass * klass) gstaudiosrc_class = (GstAudioSrcClass *) klass; gobject_class->dispose = GST_DEBUG_FUNCPTR (gst_oss_src_dispose); + gobject_class->finalize = + (GObjectFinalizeFunc) GST_DEBUG_FUNCPTR (gst_oss_src_finalize); gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_oss_src_get_property); gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_oss_src_set_property); @@ -234,6 +237,15 @@ gst_oss_src_init (GstOssSrc * osssrc, GstOssSrcClass * g_class) osssrc->device_name = g_strdup (DEFAULT_DEVICE_NAME); } +static void +gst_oss_src_finalize (GstOssSrc * osssrc) +{ + g_free (osssrc->device); + g_free (osssrc->device_name); + + G_OBJECT_CLASS (parent_class)->finalize ((GObject *) (osssrc)); +} + static GstCaps * gst_oss_src_getcaps (GstBaseSrc * bsrc) { -- cgit