aja: Prepare plugins for new libajantv2 repo

Support building AJA plugins with either the new libajantv2 library, or
the deprecated ntv2 library.

Finder scripts updated to search for libajantv2 and fall back to ntv2 if
not found. This allows this PR to be merged without requiring a
corresponding update to the pre-built obs-deps packages.
This commit is contained in:
Paul Hindt
2024-05-02 14:31:16 -04:00
committed by Ryan Foster
parent 649c62cfac
commit 182410cf6c
5 changed files with 102 additions and 41 deletions
+1 -13
View File
@@ -58,19 +58,7 @@ target_compile_options(
aja-support PUBLIC $<$<COMPILE_LANG_AND_ID:CXX,AppleClang,Clang,GNU>:-Wno-deprecated-declarations>
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD>:-Wno-unused-variable>)
target_link_libraries(
aja
PRIVATE OBS::aja-support
$<$<PLATFORM_ID:Windows>:netapi32.lib>
$<$<PLATFORM_ID:Windows>:setupapi.lib>
$<$<PLATFORM_ID:Windows>:shlwapi.lib>
$<$<PLATFORM_ID:Windows>:winmm.lib>
$<$<PLATFORM_ID:Windows>:ws2_32.lib>
"$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,AppKit.framework>>"
"$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,CoreFoundation.framework>>"
"$<$<PLATFORM_ID:Darwin>:$<LINK_LIBRARY:FRAMEWORK,IOKit.framework>>")
target_link_options(aja PRIVATE $<$<PLATFORM_ID:Windows>:/IGNORE:4099>)
target_link_libraries(aja PRIVATE OBS::aja-support)
if(OS_WINDOWS)
configure_file(cmake/windows/obs-module.rc.in win-aja.rc)
+9 -8
View File
@@ -1,6 +1,7 @@
#include "aja-widget-io.hpp"
#include "aja-common.hpp"
#include <ajantv2/includes/ntv2enums.h>
#include <ajantv2/includes/ntv2utils.h>
#include <ajantv2/includes/ntv2signalrouter.h>
@@ -35,21 +36,21 @@ static const WidgetInputSocket kWidgetInputSockets[] = {
//NTV2InputCrosspointID | NTV2WidgetID | Name | DatastreamIndex
{ NTV2_INPUT_CROSSPOINT_INVALID, NTV2_WIDGET_INVALID, "", -1},
{ NTV2_XptFrameBuffer1Input, NTV2_WgtFrameBuffer1, kFramebufferNickname, 0},
{ NTV2_XptFrameBuffer1BInput, NTV2_WgtFrameBuffer1, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer1DS2Input, NTV2_WgtFrameBuffer1, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer2Input, NTV2_WgtFrameBuffer2, kFramebufferNickname, 0},
{ NTV2_XptFrameBuffer2BInput, NTV2_WgtFrameBuffer2, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer2DS2Input, NTV2_WgtFrameBuffer2, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer3Input, NTV2_WgtFrameBuffer3, kFramebufferNickname, 0},
{ NTV2_XptFrameBuffer3BInput, NTV2_WgtFrameBuffer3, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer3DS2Input, NTV2_WgtFrameBuffer3, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer4Input, NTV2_WgtFrameBuffer4, kFramebufferNickname, 0},
{ NTV2_XptFrameBuffer4BInput, NTV2_WgtFrameBuffer4, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer4DS2Input, NTV2_WgtFrameBuffer4, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer5Input, NTV2_WgtFrameBuffer5, kFramebufferNickname, 0},
{ NTV2_XptFrameBuffer5BInput, NTV2_WgtFrameBuffer5, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer5DS2Input, NTV2_WgtFrameBuffer5, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer6Input, NTV2_WgtFrameBuffer6, kFramebufferNickname, 0},
{ NTV2_XptFrameBuffer6BInput, NTV2_WgtFrameBuffer6, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer6DS2Input, NTV2_WgtFrameBuffer6, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer7Input, NTV2_WgtFrameBuffer7, kFramebufferNickname, 0},
{ NTV2_XptFrameBuffer7BInput, NTV2_WgtFrameBuffer7, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer7DS2Input, NTV2_WgtFrameBuffer7, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer8Input, NTV2_WgtFrameBuffer8, kFramebufferNickname, 0},
{ NTV2_XptFrameBuffer8BInput, NTV2_WgtFrameBuffer8, kFramebufferNickname, 1},
{ NTV2_XptFrameBuffer8DS2Input, NTV2_WgtFrameBuffer8, kFramebufferNickname, 1},
{ NTV2_XptCSC1VidInput, NTV2_WgtCSC1, kCSCNickname, 0},
{ NTV2_XptCSC1KeyInput, NTV2_WgtCSC1, kCSCNickname, 1},
{ NTV2_XptCSC2VidInput, NTV2_WgtCSC2, kCSCNickname, 0},