decklink: Add Linux DeckLink project
The code specific to Linux helps convert `const char *` instances to `std::string`s.
This commit is contained in:
parent
c9ff86dd01
commit
70f8369ae3
@ -13,6 +13,7 @@ elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
||||
add_subdirectory(linux-pulseaudio)
|
||||
add_subdirectory(linux-v4l2)
|
||||
add_subdirectory(linux-jack)
|
||||
add_subdirectory(decklink/linux)
|
||||
endif()
|
||||
|
||||
add_subdirectory(image-source)
|
||||
|
45
plugins/decklink/linux/CMakeLists.txt
Normal file
45
plugins/decklink/linux/CMakeLists.txt
Normal file
@ -0,0 +1,45 @@
|
||||
project(linux-decklink)
|
||||
|
||||
set(linux-decklink-sdk_HEADERS
|
||||
decklink-sdk/DeckLinkAPI.h
|
||||
decklink-sdk/DeckLinkAPIConfiguration.h
|
||||
decklink-sdk/DeckLinkAPIDeckControl.h
|
||||
decklink-sdk/DeckLinkAPIDiscovery.h
|
||||
decklink-sdk/DeckLinkAPIModes.h
|
||||
decklink-sdk/DeckLinkAPITypes.h
|
||||
decklink-sdk/DeckLinkAPIVersion.h
|
||||
decklink-sdk/LinuxCOM.h
|
||||
)
|
||||
|
||||
set(linux-decklink-sdk_SOURCES
|
||||
decklink-sdk/DeckLinkAPIDispatch.cpp
|
||||
)
|
||||
|
||||
set(linux-decklink_HEADERS
|
||||
../platform.hpp
|
||||
../decklink.hpp
|
||||
../decklink-device-instance.hpp
|
||||
../decklink-device-discovery.hpp
|
||||
../decklink-device.hpp
|
||||
../decklink-device-mode.hpp
|
||||
)
|
||||
|
||||
set(linux-decklink_SOURCES
|
||||
../plugin-main.cpp
|
||||
../decklink.cpp
|
||||
../decklink-device-instance.cpp
|
||||
../decklink-device-discovery.cpp
|
||||
../decklink-device.cpp
|
||||
../decklink-device-mode.cpp
|
||||
platform.cpp)
|
||||
|
||||
add_library(linux-decklink MODULE
|
||||
${linux-decklink_SOURCES}
|
||||
${linux-decklink_HEADERS}
|
||||
${linux-decklink-sdk_HEADERS}
|
||||
${linux-decklink-sdk_SOURCES})
|
||||
|
||||
target_link_libraries(linux-decklink
|
||||
libobs)
|
||||
|
||||
install_obs_plugin_with_data(linux-decklink ../data)
|
12
plugins/decklink/linux/platform.cpp
Normal file
12
plugins/decklink/linux/platform.cpp
Normal file
@ -0,0 +1,12 @@
|
||||
#include "../platform.hpp"
|
||||
|
||||
bool DeckLinkStringToStdString(decklink_string_t input, std::string& output)
|
||||
{
|
||||
if (input == nullptr)
|
||||
return false;
|
||||
|
||||
output = std::string(input);
|
||||
free((void *)input);
|
||||
|
||||
return true;
|
||||
}
|
@ -7,7 +7,8 @@
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
typedef CFStringRef decklink_string_t;
|
||||
#elif defined(__linux__)
|
||||
// TODO: Linux support
|
||||
#include "linux/decklink-sdk/DeckLinkAPI.h"
|
||||
typedef const char *decklink_string_t;
|
||||
#endif
|
||||
|
||||
#include <util/windows/HRError.hpp>
|
||||
|
Loading…
x
Reference in New Issue
Block a user