From 6b789d2dd197c127d579673ea9ba4faaf60accf3 Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Fri, 27 Jan 2006 01:43:07 +0000 Subject: sys/oss/gstosssink.c: Free the device name string when finalised. Original commit message from CVS: * sys/oss/gstosssink.c: (gst_oss_sink_class_init), (gst_oss_sink_init), (gst_oss_sink_finalise): Free the device name string when finalised. --- sys/oss/gstosssink.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'sys/oss') diff --git a/sys/oss/gstosssink.c b/sys/oss/gstosssink.c index 02e217e0..29e2e3f2 100644 --- a/sys/oss/gstosssink.c +++ b/sys/oss/gstosssink.c @@ -59,7 +59,9 @@ GST_ELEMENT_DETAILS ("Audio Sink (OSS)", static void gst_oss_sink_base_init (gpointer g_class); static void gst_oss_sink_class_init (GstOssSinkClass * klass); static void gst_oss_sink_init (GstOssSink * osssink); + static void gst_oss_sink_dispose (GObject * object); +static void gst_oss_sink_finalise (GObject * object); static void gst_oss_sink_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); @@ -179,6 +181,7 @@ gst_oss_sink_class_init (GstOssSinkClass * klass) parent_class = g_type_class_ref (GST_TYPE_BASE_AUDIO_SINK); gobject_class->dispose = GST_DEBUG_FUNCPTR (gst_oss_sink_dispose); + gobject_class->finalize = GST_DEBUG_FUNCPTR (gst_oss_sink_finalise); gobject_class->get_property = GST_DEBUG_FUNCPTR (gst_oss_sink_get_property); gobject_class->set_property = GST_DEBUG_FUNCPTR (gst_oss_sink_set_property); @@ -202,10 +205,18 @@ gst_oss_sink_init (GstOssSink * osssink) { GST_DEBUG ("initializing osssink"); - osssink->device = g_strdup (DEFAULT_DEVICE);; + osssink->device = g_strdup (DEFAULT_DEVICE); osssink->fd = -1; } +static void +gst_oss_sink_finalise (GObject * object) +{ + GstOssSink *osssink = GST_OSSSINK (object); + + g_free (osssink->device); +} + static void gst_oss_sink_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) -- cgit