summaryrefslogtreecommitdiffhomepage
path: root/compat/camera-names.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'compat/camera-names.cpp')
-rw-r--r--compat/camera-names.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/compat/camera-names.cpp b/compat/camera-names.cpp
index 246d76ee..c30e4b33 100644
--- a/compat/camera-names.cpp
+++ b/compat/camera-names.cpp
@@ -49,6 +49,7 @@ QList<QString> get_camera_names()
// Enumerate the monikers.
IMoniker *pMoniker = nullptr;
ULONG cFetched;
+ bool hasKinect = true;
while (pEnumCat->Next(1, &pMoniker, &cFetched) == S_OK)
{
IPropertyBag *pPropBag;
@@ -63,12 +64,26 @@ QList<QString> get_camera_names()
// Display the name in your UI somehow.
QString str((QChar*)var.bstrVal, int(std::wcslen(var.bstrVal)));
ret.append(str);
+ if (!hasKinect && str.compare(KKinectVideoSensor)==0)
+ {
+ // We do have a Kinect V2 connected
+ hasKinect = true;
+ }
}
VariantClear(&var);
pPropBag->Release();
}
pMoniker->Release();
}
+
+ if (hasKinect)
+ {
+ // Add Kinect V2 IR Sensor as an option then
+ ret.append(QString(KKinectIRSensor));
+ // We made sure that extra camera is added at the end of our array so as not to mess up genuine camera indices...
+ // ...which we relly on to create our OpenCV VideoCapture object in Camera::start.
+ }
+
pEnumCat->Release();
}
else