Reworked camera stream check to exclude non-video formats.

This commit is contained in:
Alexander Smorkalov 2023-12-27 14:31:53 +03:00
parent 881cd02fe2
commit e5b5984f3c

View File

@ -18,6 +18,7 @@
#include <windows.h>
#include <guiddef.h>
#include <initguid.h>
#include <mfidl.h>
#include <mfapi.h>
#include <mfplay.h>
@ -159,6 +160,11 @@ private:
template <typename T> inline T absDiff(T a, T b) { return a >= b ? a - b : b - a; }
// synonym for system MFVideoFormat_D16. D3DFMT_D16 = 80
// added to fix builds with old MSVS and platform SDK
// see https://learn.microsoft.com/en-us/windows/win32/medfound/video-subtype-guids#luminance-and-depth-formats
DEFINE_MEDIATYPE_GUID( OCV_MFVideoFormat_D16, 80 );
//==================================================================================================
// Structure for collecting info about types of video which are supported by current video device
@ -350,9 +356,7 @@ struct MediaType
}
bool VideoIsAvailable() const
{
return ((subType == MFVideoFormat_RGB32) ||
(subType == MFVideoFormat_RGB24) ||
(subType == MFVideoFormat_YUY2));
return (subType != OCV_MFVideoFormat_D16);
}
};