mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-19 09:39:15 +00:00
win-dshow: Incorporate Elgato submodule
Add automatic tonemap toggle for HD60 S+ as well.
This commit is contained in:
parent
5d5ecf17b4
commit
87a69f7623
|
@ -30,9 +30,20 @@ target_sources(
|
|||
win-dshow PRIVATE encode-dstr.hpp win-dshow.cpp win-dshow-encoder.cpp
|
||||
dshow-plugin.cpp ffmpeg-decode.c ffmpeg-decode.h)
|
||||
|
||||
add_library(libdshowcapture-external INTERFACE)
|
||||
add_library(libdshowcapture INTERFACE)
|
||||
add_library(OBS::libdshowcapture-external ALIAS libdshowcapture-external)
|
||||
add_library(OBS::libdshowcapture ALIAS libdshowcapture)
|
||||
|
||||
target_sources(
|
||||
libdshowcapture-external
|
||||
INTERFACE
|
||||
libdshowcapture/external/capture-device-support/Library/EGAVResult.cpp
|
||||
libdshowcapture/external/capture-device-support/Library/ElgatoUVCDevice.cpp
|
||||
libdshowcapture/external/capture-device-support/Library/win/EGAVHIDImplementation.cpp
|
||||
libdshowcapture/external/capture-device-support/SampleCode/DriverInterface.cpp
|
||||
)
|
||||
|
||||
target_sources(
|
||||
libdshowcapture
|
||||
INTERFACE libdshowcapture/dshowcapture.hpp
|
||||
|
@ -64,7 +75,15 @@ target_sources(
|
|||
libdshowcapture/source/external/IVideoCaptureFilter.h)
|
||||
|
||||
target_include_directories(
|
||||
libdshowcapture INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/libdshowcapture)
|
||||
libdshowcapture
|
||||
INTERFACE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/libdshowcapture
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/libdshowcapture/external/capture-device-support/Library
|
||||
)
|
||||
|
||||
target_compile_definitions(libdshowcapture-external INTERFACE _UP_WINDOWS=1)
|
||||
target_compile_definitions(libdshowcapture INTERFACE _UP_WINDOWS=1)
|
||||
target_compile_options(libdshowcapture-external INTERFACE /wd4018)
|
||||
|
||||
set(MODULE_DESCRIPTION "OBS DirectShow module")
|
||||
|
||||
|
@ -136,6 +155,7 @@ target_link_libraries(
|
|||
win-dshow
|
||||
PRIVATE OBS::libobs
|
||||
OBS::w32-pthreads
|
||||
OBS::libdshowcapture-external
|
||||
OBS::libdshowcapture
|
||||
setupapi
|
||||
strmiids
|
||||
|
@ -145,13 +165,45 @@ target_link_libraries(
|
|||
FFmpeg::avcodec
|
||||
FFmpeg::avutil)
|
||||
|
||||
file(GLOB _LIBOBS_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/libdshowcapture/*.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/libdshowcapture/*.cpp)
|
||||
file(GLOB _LIBOBS_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/libdshowcapture/*.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/libdshowcapture/*.hpp)
|
||||
|
||||
source_group("libdshowcapture\\Source Files" FILES ${_LIBOBS_SOURCE_FILES})
|
||||
source_group("libdshowcapture\\Header Files" FILES ${_LIBOBS_HEADER_FILES})
|
||||
source_group(
|
||||
"libdshowcapture-external\\Source Files"
|
||||
FILES
|
||||
libdshowcapture/external/capture-device-support/Library/EGAVResult.cpp
|
||||
libdshowcapture/external/capture-device-support/Library/ElgatoUVCDevice.cpp
|
||||
libdshowcapture/external/capture-device-support/Library/win/EGAVHIDImplementation.cpp
|
||||
libdshowcapture/external/capture-device-support/SampleCode/DriverInterface.cpp
|
||||
)
|
||||
source_group(
|
||||
"libdshowcapture\\Source Files"
|
||||
FILES libdshowcapture/source/capture-filter.cpp
|
||||
libdshowcapture/source/output-filter.cpp
|
||||
libdshowcapture/source/dshowcapture.cpp
|
||||
libdshowcapture/source/dshowencode.cpp
|
||||
libdshowcapture/source/device.cpp
|
||||
libdshowcapture/source/device-vendor.cpp
|
||||
libdshowcapture/source/encoder.cpp
|
||||
libdshowcapture/source/dshow-base.cpp
|
||||
libdshowcapture/source/dshow-demux.cpp
|
||||
libdshowcapture/source/dshow-enum.cpp
|
||||
libdshowcapture/source/dshow-formats.cpp
|
||||
libdshowcapture/source/dshow-media-type.cpp
|
||||
libdshowcapture/source/dshow-encoded-device.cpp
|
||||
libdshowcapture/source/log.cpp)
|
||||
source_group(
|
||||
"libdshowcapture\\Header Files"
|
||||
FILES libdshowcapture/dshowcapture.hpp
|
||||
libdshowcapture/source/capture-filter.hpp
|
||||
libdshowcapture/source/output-filter.hpp
|
||||
libdshowcapture/source/device.hpp
|
||||
libdshowcapture/source/encoder.hpp
|
||||
libdshowcapture/source/dshow-base.hpp
|
||||
libdshowcapture/source/dshow-demux.hpp
|
||||
libdshowcapture/source/dshow-device-defs.hpp
|
||||
libdshowcapture/source/dshow-enum.hpp
|
||||
libdshowcapture/source/dshow-formats.hpp
|
||||
libdshowcapture/source/dshow-media-type.hpp
|
||||
libdshowcapture/source/log.hpp
|
||||
libdshowcapture/source/external/IVideoCaptureFilter.h)
|
||||
|
||||
set_target_properties(win-dshow PROPERTIES FOLDER "plugins/win-dshow")
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 8f2ef910bae88163abd904dd0eeaf027fd09c10a
|
||||
Subproject commit c625af2f4018134cb915a5adcb7172c1b8952182
|
|
@ -35,8 +35,9 @@ configure_file(${CMAKE_SOURCE_DIR}/cmake/bundle/windows/obs-module.rc.in
|
|||
target_sources(obs-virtualcam-module PRIVATE virtualcam-module.rc)
|
||||
|
||||
target_link_libraries(
|
||||
obs-virtualcam-module PRIVATE OBS::libdshowcapture setupapi winmm strmiids
|
||||
gdiplus)
|
||||
obs-virtualcam-module
|
||||
PRIVATE OBS::libdshowcapture OBS::libdshowcapture-external setupapi winmm
|
||||
strmiids gdiplus)
|
||||
|
||||
target_link_options(obs-virtualcam-module PRIVATE "LINKER:/ignore:4104")
|
||||
|
||||
|
@ -62,19 +63,6 @@ if(MSVC)
|
|||
|
||||
endif()
|
||||
|
||||
get_target_property(_LIBDSHOW_SOURCES OBS::libdshowcapture INTERFACE_SOURCES)
|
||||
|
||||
foreach(_LIBDSHOW_SOURCE ${_LIBDSHOW_SOURCES})
|
||||
get_filename_component(_EXT ${_LIBDSHOW_SOURCE} EXT)
|
||||
if(${_EXT} STREQUAL "hpp" OR ${_EXT} STREQUAL "h")
|
||||
source_group("libdshowcapture\\Header Files" FILES ${_LIBDSHOW_SOURCE})
|
||||
elseif(${_EXT} STREQUAL "cpp" OR ${_EXT} STREQUAL "c")
|
||||
source_group("libdshowcapture\\Source Files" FILES ${_LIBDSHOW_SOURCE})
|
||||
endif()
|
||||
endforeach()
|
||||
unset(_LIBDSHOW_SOURCE)
|
||||
unset(_LIBDSHOW_SOURCES)
|
||||
|
||||
set_target_properties(obs-virtualcam-module PROPERTIES FOLDER
|
||||
"plugins/win-dshow")
|
||||
|
||||
|
|
Loading…
Reference in a new issue