提交 70f8369a 编写于 作者: S Skyler Lipthay

decklink: Add Linux DeckLink project

The code specific to Linux helps convert `const char *` instances to
`std::string`s.
上级 c9ff86dd
......@@ -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)
......
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)
#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>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册