dshowsrcwrapper: fix regression on device selection
authorgla <gla@witbe.net>
Tue, 20 Aug 2019 10:44:44 +0000 (12:44 +0200)
committerTim-Philipp Müller <tim@centricular.com>
Fri, 23 Aug 2019 12:10:56 +0000 (15:10 +0300)
Do not take device_name if a device has been specified. Do not take device_index into account if a device or a device name has been specified.

sys/dshowsrcwrapper/gstdshow.cpp

index 24a241a..2b41dcb 100644 (file)
@@ -443,10 +443,10 @@ gst_dshow_select_device (const GUID * device_category,
     if (device && g_strcmp0 (device, entry->device) == 0) {
       selected = entry;
       break;
-    } else if (device_name && g_strcmp0 (device_name, entry->device_name) == 0) {
+    } else if (!device && device_name && g_strcmp0 (device_name, entry->device_name) == 0) {
       selected = entry;
       break;
-    } else if (device_index == entry->device_index) {
+    } else if (!device && !deviceName && device_index == entry->device_index) {
       selected = entry;
       break;
     }