If no providers for a particular class could be found, then removing unmatched
filters would cause all devices to be returned instead which is not at all what
the user intended. We still return 0 for unmatched filters.
/* Ensure there is no leak here */
g_assert (factories == NULL);
- if (matched) {
+ if (matched)
id = filter->id;
- g_ptr_array_add (monitor->priv->filters, filter);
- } else {
- device_filter_free (filter);
- }
+ g_ptr_array_add (monitor->priv->filters, filter);
GST_OBJECT_UNLOCK (monitor);