summaryrefslogtreecommitdiff
path: root/sys/oss
diff options
context:
space:
mode:
Diffstat (limited to 'sys/oss')
-rw-r--r--sys/oss/gstosssink.c2
-rw-r--r--sys/oss/gstosssrc.c12
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)
{