diff options
Diffstat (limited to 'sys/oss')
-rw-r--r-- | sys/oss/gstosssink.c | 2 | ||||
-rw-r--r-- | sys/oss/gstosssrc.c | 12 |
2 files changed, 14 insertions, 0 deletions
diff --git a/sys/oss/gstosssink.c b/sys/oss/gstosssink.c index 1351d1b9d..9f2a7eaef 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 26eb6c6f6..34d901a28 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) { |