{
GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+ klass->device_combinations = NULL;
+
gst_element_class_set_details (element_class, &gst_osselement_details);
}
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));