From 30381dbf6586128fd743f7d5e44f84513d3f6eda Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Thu, 6 Nov 2003 10:21:14 +0000 Subject: [PATCH] And proper memory cleanup of cached devices Original commit message from CVS: And proper memory cleanup of cached devices --- sys/oss/gstosselement.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sys/oss/gstosselement.c b/sys/oss/gstosselement.c index b921119..6d1e151 100644 --- a/sys/oss/gstosselement.c +++ b/sys/oss/gstosselement.c @@ -128,6 +128,8 @@ gst_osselement_base_init (GstOssElementClass *klass) { GstElementClass *element_class = GST_ELEMENT_CLASS (klass); + klass->device_combinations = NULL; + gst_element_class_set_details (element_class, &gst_osselement_details); } @@ -212,7 +214,17 @@ gst_osselement_class_probe_devices (GstOssElementClass *klass, GstOssDeviceCombination devices[16]; gint n; - klass->device_combinations = NULL; + while (klass->device_combinations) { + GList *item = klass->device_combinations; + GstOssDeviceCombination *combi = item->data; + + klass->device_combinations = + g_list_remove (klass->device_combinations, item); + + g_free (combi->dsp); + g_free (combi->mixer); + g_free (combi); + } /* probe for all /dev entries */ memset (devices, 0, sizeof (devices)); -- 2.7.4