Skip to content

Commit

Permalink
Merge pull request #24778 from asmorkalov:as/win_msmf_stream_type_check
Browse files Browse the repository at this point in the history
Reworked camera stream check to exclude non-video formats
  • Loading branch information
asmorkalov committed Dec 27, 2023
2 parents 881cd02 + e5b5984 commit afe7c8b
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions modules/videoio/src/cap_msmf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

#include <windows.h>
#include <guiddef.h>
#include <initguid.h>
#include <mfidl.h>
#include <mfapi.h>
#include <mfplay.h>
Expand Down Expand Up @@ -159,6 +160,11 @@ class ComPtr

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
Expand Down Expand Up @@ -350,9 +356,7 @@ struct MediaType
}
bool VideoIsAvailable() const
{
return ((subType == MFVideoFormat_RGB32) ||
(subType == MFVideoFormat_RGB24) ||
(subType == MFVideoFormat_YUY2));
return (subType != OCV_MFVideoFormat_D16);
}
};

Expand Down

0 comments on commit afe7c8b

Please sign in to comment.