GstDeviceMonitor: Don't remove unmatched class filters

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.
This commit is contained in:
Nirbheek Chauhan 2016-01-15 00:25:05 +05:30 committed by Tim-Philipp Müller
parent 8e71f1c4d8
commit 0263257783

View file

@ -695,12 +695,9 @@ gst_device_monitor_add_filter (GstDeviceMonitor * monitor,
/* 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);