From 03fdbb1e4bc62b73d6299174118f4384c6145efc Mon Sep 17 00:00:00 2001 From: Alexander Smorkalov Date: Fri, 30 May 2025 15:15:13 +0300 Subject: [PATCH] Use own macro for MSMF in G-API to exclude side effects with videoio. --- CMakeLists.txt | 2 +- modules/gapi/CMakeLists.txt | 4 ++-- .../onevpl/demux/async_mfp_demux_data_provider.cpp | 6 +++--- .../onevpl/demux/async_mfp_demux_data_provider.hpp | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bc745e3fd3..150a018f8a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -369,7 +369,7 @@ OCV_OPTION(WITH_V4L "Include Video 4 Linux support" ON OCV_OPTION(WITH_DSHOW "Build VideoIO with DirectShow support" ON VISIBLE_IF WIN32 AND NOT ARM AND NOT WINRT VERIFY HAVE_DSHOW) -OCV_OPTION(WITH_MSMF "Build VideoIO with Media Foundation support" OFF # NOT MINGW +OCV_OPTION(WITH_MSMF "Build VideoIO with Media Foundation support" NOT MINGW VISIBLE_IF WIN32 VERIFY HAVE_MSMF) OCV_OPTION(WITH_MSMF_DXVA "Enable hardware acceleration in Media Foundation backend" WITH_MSMF diff --git a/modules/gapi/CMakeLists.txt b/modules/gapi/CMakeLists.txt index d053445ec2..29b20cabf6 100644 --- a/modules/gapi/CMakeLists.txt +++ b/modules/gapi/CMakeLists.txt @@ -383,9 +383,9 @@ endif() ocv_option(OPENCV_GAPI_MSMF "Build G-API with MS Media Foundation support" HAVE_MSMF) if(HAVE_MSMF AND OPENCV_GAPI_MSMF) if(TARGET opencv_test_gapi) - ocv_target_compile_definitions(opencv_test_gapi PRIVATE -DHAVE_MSMF) + ocv_target_compile_definitions(opencv_test_gapi PRIVATE -DHAVE_GAPI_MSMF) endif() - ocv_target_compile_definitions(${the_module} PRIVATE -DHAVE_MSMF) + ocv_target_compile_definitions(${the_module} PRIVATE -DHAVE_GAPI_MSMF) ocv_target_link_libraries(${the_module} PRIVATE ocv.3rdparty.msmf) endif() diff --git a/modules/gapi/src/streaming/onevpl/demux/async_mfp_demux_data_provider.cpp b/modules/gapi/src/streaming/onevpl/demux/async_mfp_demux_data_provider.cpp index ec90e634b5..a4eb4546f1 100644 --- a/modules/gapi/src/streaming/onevpl/demux/async_mfp_demux_data_provider.cpp +++ b/modules/gapi/src/streaming/onevpl/demux/async_mfp_demux_data_provider.cpp @@ -15,7 +15,7 @@ namespace gapi { namespace wip { namespace onevpl { -#ifdef HAVE_MSMF +#ifdef HAVE_GAPI_MSMF static HRESULT create_media_source(const std::string& url, IMFMediaSource **ppSource) { wchar_t sURL[MAX_PATH]; @@ -787,7 +787,7 @@ bool MFPAsyncDemuxDataProvider::empty() const { (processing_locked_buffer_storage.size() == 0) && (get_locked_buffer_size() == 0); } -#else // HAVE_MSMF +#else // HAVE_GAPI_MSMF MFPAsyncDemuxDataProvider::MFPAsyncDemuxDataProvider(const std::string&) { GAPI_Error("Unsupported: Microsoft Media Foundation is not available"); @@ -806,7 +806,7 @@ bool MFPAsyncDemuxDataProvider::empty() const { GAPI_Error("Unsupported: Microsoft Media Foundation is not available"); return true; } -#endif // HAVE_MSMF +#endif // HAVE_GAPI_MSMF } // namespace onevpl } // namespace wip } // namespace gapi diff --git a/modules/gapi/src/streaming/onevpl/demux/async_mfp_demux_data_provider.hpp b/modules/gapi/src/streaming/onevpl/demux/async_mfp_demux_data_provider.hpp index 4eb6a364d5..057e41e429 100644 --- a/modules/gapi/src/streaming/onevpl/demux/async_mfp_demux_data_provider.hpp +++ b/modules/gapi/src/streaming/onevpl/demux/async_mfp_demux_data_provider.hpp @@ -16,7 +16,7 @@ #include "streaming/onevpl/onevpl_export.hpp" #include -#ifdef HAVE_MSMF +#ifdef HAVE_GAPI_MSMF #define NOMINMAX #include #include @@ -104,7 +104,7 @@ private: } // namespace gapi } // namespace cv -#else // HAVE_MSMF +#else // HAVE_GAPI_MSMF namespace cv { namespace gapi { namespace wip { @@ -121,6 +121,6 @@ struct GAPI_EXPORTS MFPAsyncDemuxDataProvider : public IDataProvider { } // namespace gapi } // namespace cv -#endif // HAVE_MSMF +#endif // HAVE_GAPI_MSMF #endif // HAVE_ONEVPL #endif // GAPI_STREAMING_ONEVPL_DEMUX_ASYNC_MFP_DEMUX_DATA_PROVIDER_HPP