From 7bc0fa5d705b36f0c22bea7b3b038736ce6fe94b Mon Sep 17 00:00:00 2001 From: Andoni Morales Alastruey Date: Tue, 10 Feb 2015 13:32:00 +0100 Subject: [PATCH] ksvideosrc: only list capture devices --- sys/winks/kshelpers.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/winks/kshelpers.c b/sys/winks/kshelpers.c index b6621de..3f7b2d2 100644 --- a/sys/winks/kshelpers.c +++ b/sys/winks/kshelpers.c @@ -54,6 +54,7 @@ ks_enumerate_devices (const GUID * category) for (i = 0;; i++) { BOOL success; SP_DEVICE_INTERFACE_DATA if_data = { 0, }; + SP_DEVICE_INTERFACE_DATA if_alias_data = { 0,}; SP_DEVICE_INTERFACE_DETAIL_DATA_W *if_detail_data; DWORD if_detail_data_size; SP_DEVINFO_DATA devinfo_data = { 0, }; @@ -66,6 +67,13 @@ ks_enumerate_devices (const GUID * category) if (!success) /* all devices enumerated? */ break; + /* Enumerate only capture devices */ + if_alias_data.cbSize = sizeof (SP_DEVICE_INTERFACE_DATA); + success = SetupDiGetDeviceInterfaceAlias (devinfo, &if_data, &KSCATEGORY_CAPTURE, + &if_alias_data); + if (!success) + continue; + if_detail_data_size = (MAX_PATH - 1) * sizeof (gunichar2); if_detail_data = g_malloc0 (if_detail_data_size); if_detail_data->cbSize = sizeof (SP_DEVICE_INTERFACE_DETAIL_DATA_W); -- 2.7.4