diff options
author | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2003-11-06 10:21:14 +0000 |
---|---|---|
committer | Ronald S. Bultje <rbultje@ronald.bitfreak.net> | 2003-11-06 10:21:14 +0000 |
commit | 30381dbf6586128fd743f7d5e44f84513d3f6eda (patch) | |
tree | 29d2168d0d3d35594d629c2e4e796d27ec9ceef6 | |
parent | 58ddceed73344e25f3c61129031e4ebc490e44bc (diff) |
And proper memory cleanup of cached devices
Original commit message from CVS:
And proper memory cleanup of cached devices
-rw-r--r-- | sys/oss/gstosselement.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/oss/gstosselement.c b/sys/oss/gstosselement.c index b9211199..6d1e151d 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)); |