summaryrefslogtreecommitdiffstats
path: root/sys/oss
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@mad.scientist.com>2006-01-27 01:43:07 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2006-01-27 01:43:07 +0000
commit6b789d2dd197c127d579673ea9ba4faaf60accf3 (patch)
tree8318c01d24f5582e964cb1d28ef4bebc3804424c /sys/oss
parent7814b56eeef4806e02ea94cf3b1e85c602cc6904 (diff)
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.
Diffstat (limited to 'sys/oss')
-rw-r--r--sys/oss/gstosssink.c13
1 files changed, 12 insertions, 1 deletions
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,11 +205,19 @@ 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)
{