diff --git a/plugins/win-mf/CMakeLists.txt b/plugins/win-mf/CMakeLists.txt index 6709215d3..4df6dd70c 100644 --- a/plugins/win-mf/CMakeLists.txt +++ b/plugins/win-mf/CMakeLists.txt @@ -1,32 +1,58 @@ project(win-mf) -set(win-mf_SOURCES - mf-plugin.cpp - mf-aac.cpp - mf-aac-encoder.cpp - mf-common.cpp - mf-encoder-descriptor.cpp - mf-h264.cpp - mf-h264-encoder.cpp) +set(ENABLE_WINMF FALSE CACHE BOOL "Enables the now deprecated win-mf plugin") -set(win-mf_HEADERS - mf-common.hpp - mf-encoder-descriptor.hpp - mf-aac-encoder.hpp - mf-h264-encoder.hpp) +configure_file( + "${CMAKE_CURRENT_SOURCE_DIR}/mf-config.hpp.in" + "${CMAKE_CURRENT_BINARY_DIR}/mf-config.hpp") + +set(win-mf_config_HEADERS + "${CMAKE_CURRENT_BINARY_DIR}/mf-config.hpp") + +if(ENABLE_WINMF) + set(win-mf_SOURCES + mf-plugin.cpp + mf-aac.cpp + mf-aac-encoder.cpp + mf-common.cpp + mf-encoder-descriptor.cpp + mf-h264.cpp + mf-h264-encoder.cpp) + + set(win-mf_HEADERS + mf-common.hpp + mf-encoder-descriptor.hpp + mf-aac-encoder.hpp + mf-h264-encoder.hpp) + + set(win-mf_DEPS + d3d9 + dxva2 + uuid + mfplat + mfuuid + mf + wmcodecdspuuid) +else() + set(win-mf_SOURCES + mf-plugin.cpp) +endif() add_library(win-mf MODULE + ${win-mf_config_HEADERS} ${win-mf_SOURCES} ${win-mf_HEADERS}) target_link_libraries(win-mf - d3d9 - dxva2 - uuid - mfplat - mfuuid - mf - wmcodecdspuuid + ${win-mf_DEPS} libobs) -install_obs_plugin_with_data(win-mf data) +target_include_directories(win-mf + PUBLIC + "$") + +if(ENABLE_WINMF) + install_obs_plugin_with_data(win-mf data) +else() + install_obs_plugin(win-mf) +endif() diff --git a/plugins/win-mf/mf-config.hpp.in b/plugins/win-mf/mf-config.hpp.in new file mode 100644 index 000000000..3992708e3 --- /dev/null +++ b/plugins/win-mf/mf-config.hpp.in @@ -0,0 +1,17 @@ +#ifndef TRUE +#define TRUE 1 +#endif + +#ifndef ON +#define ON 1 +#endif + +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef OFF +#define OFF 0 +#endif + +#define ENABLE_WINMF @ENABLE_WINMF@ diff --git a/plugins/win-mf/mf-plugin.cpp b/plugins/win-mf/mf-plugin.cpp index b686d8402..a1bd5b9c3 100644 --- a/plugins/win-mf/mf-plugin.cpp +++ b/plugins/win-mf/mf-plugin.cpp @@ -1,26 +1,36 @@ #include -#include +#include "mf-config.hpp" +#if ENABLE_WINMF +#include #include "mf-common.hpp" extern "C" extern void RegisterMFAACEncoder(); extern void RegisterMFH264Encoders(); +#endif extern "C" bool obs_module_load(void) { +#if ENABLE_WINMF MFStartup(MF_VERSION, MFSTARTUP_FULL); RegisterMFAACEncoder(); RegisterMFH264Encoders(); +#endif return true; } extern "C" void obs_module_unload(void) { +#if ENABLE_WINMF MFShutdown(); +#endif } OBS_DECLARE_MODULE() + +#if ENABLE_WINMF OBS_MODULE_USE_DEFAULT_LOCALE("win-mf", "en-US") +#endif