device-monitor: list hidden providers before listing devices
authorThibault Saunier <tsaunier@igalia.com>
Tue, 30 Apr 2019 21:24:50 +0000 (17:24 -0400)
committerThibault Saunier <tsaunier@igalia.com>
Wed, 7 Aug 2019 19:20:39 +0000 (15:20 -0400)
The way it was implemented could make the list updated after the
list of device was filled with supposdely hidden devices

gst/gstdevicemonitor.c

index 331fac7..78a0b44 100644 (file)
@@ -384,6 +384,13 @@ again:
   devices = NULL;
   hidden = NULL;
 
+  for (i = 0; i < monitor->priv->providers->len; i++) {
+    GstDeviceProvider *provider =
+        g_ptr_array_index (monitor->priv->providers, i);
+
+    update_hidden_providers_list (&hidden, provider);
+  }
+
   cookie = monitor->priv->cookie;
 
   for (i = 0; i < monitor->priv->providers->len; i++) {
@@ -398,7 +405,6 @@ again:
       tmpdev = gst_device_provider_get_devices (provider);
 
       GST_OBJECT_LOCK (monitor);
-      update_hidden_providers_list (&hidden, provider);
     } else {
       tmpdev = NULL;
     }