summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authortytan6522024-03-09 13:03:02 +0100
committertytan6522024-03-09 13:03:28 +0100
commitb86245171d05fb4399fb6ef26095126777d70435 (patch)
treee15cc7a47f4fb2e9e4ba4d126458a13b8e08d194
parent115f16967b86e75f4b11f29e6ed2a44aa8cdf8ec (diff)
downloadaur-b86245171d05fb4399fb6ef26095126777d70435.tar.gz
build: Build with libajantv2 17.0.1
-rw-r--r--.SRCINFO7
-rw-r--r--0003-Update_to_libajantv2_17_legacy_path_only.patch95
-rw-r--r--PKGBUILD9
3 files changed, 107 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7ecc25e9de49..76e5b19bfa6f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = obs-studio-tytan652
pkgdesc = Free and open source software for video recording and live streaming. With everything except service integrations. Plus V4L2 devices by paths, my bind interface PR, and sometimes backported fixes
pkgver = 30.0.2
- pkgrel = 6
+ pkgrel = 7
url = https://github.com/obsproject/obs-studio
arch = x86_64
arch = aarch64
@@ -11,7 +11,7 @@ pkgbase = obs-studio-tytan652
makedepends = jack
makedepends = git
makedepends = uthash
- makedepends = libajantv2
+ makedepends = libajantv2>=17.0.1
makedepends = libdatachannel>=0.20
makedepends = libfdk-aac
makedepends = luajit
@@ -85,6 +85,7 @@ pkgbase = obs-studio-tytan652
optdepends = systemd-libs: V4L2 support
optdepends = v4l2loopback-dkms: V4L2 virtual camera output
optdepends = libdatachannel>=0.20: WHIP Support
+ optdepends = libajantv2>=17.0.1: AJA support
optdepends = decklink: Blackmagic Design DeckLink support
provides = obs-studio=30.0.2
provides = obs-vst
@@ -104,6 +105,7 @@ pkgbase = obs-studio-tytan652
source = v4l2_by-path.patch
source = 0001-Add_finder_for_uthash.patch
source = 0002-Use_system_uthash.patch
+ source = 0003-Update_to_libajantv2_17_legacy_path_only.patch
sha256sums = SKIP
sha256sums = SKIP
sha256sums = SKIP
@@ -111,5 +113,6 @@ pkgbase = obs-studio-tytan652
sha256sums = ee54b9c6f7e17fcc62c6afc094e65f18b2e97963c2fe92289b2b91972ac206e5
sha256sums = f4a56021a7f1c564f95b588d7c09b60a89efa2c1954c8a418cf6320b5a818542
sha256sums = 874456110d17d2efe02f8a1f47f58c877922d8bdab6435df334b9e6460b26bf8
+ sha256sums = a7149e1d9a07270132cf8085d52225ed3200a78ea943cbf52d64b1b8f293e117
pkgname = obs-studio-tytan652
diff --git a/0003-Update_to_libajantv2_17_legacy_path_only.patch b/0003-Update_to_libajantv2_17_legacy_path_only.patch
new file mode 100644
index 000000000000..9b2151554e2b
--- /dev/null
+++ b/0003-Update_to_libajantv2_17_legacy_path_only.patch
@@ -0,0 +1,95 @@
+From 837a514a10be1a9977352edbabe8efa41392e07f Mon Sep 17 00:00:00 2001
+From: Paul Hindt <paulh@aja.com>
+Date: Wed, 11 Oct 2023 21:57:44 -0700
+Subject: [PATCH] aja: Update plugin to use new libajantv2 deps
+
+AJA's ntv2 repo on github, which was used to build the initial
+version of the OBS AJA plugin, has been replaced by a new repo.
+
+The original repo placed a maintenance burden on AJA, requiring
+filtering open-source code from proprietary code.
+
+The new repo splits and re-organizes the open-source code from
+AJA's internal repo, to allow its use as a submodule by other
+projects, both internal and external to AJA.
+
+This PR updates the OBS AJA plugin to use deps from the new repo.
+---
+ cmake/Modules/FindLibAJANTV2.cmake | 11 ++++--
+ plugins/aja/aja-widget-io.cpp | 17 +++++-----
+ 5 files changed, 47 insertions(+), 37 deletions(-)
+
+diff --git a/cmake/Modules/FindLibAJANTV2.cmake b/cmake/Modules/FindLibAJANTV2.cmake
+index 3ce91deedff7a..9a016bc1cb276 100644
+--- a/cmake/Modules/FindLibAJANTV2.cmake
++++ b/cmake/Modules/FindLibAJANTV2.cmake
+@@ -15,7 +15,7 @@ endif()
+
+ find_path(
+ AJA_LIBRARIES_INCLUDE_DIR
+- NAMES ajalibraries
++ NAMES libajantv2
+ HINTS ENV
+ AJASDKPath${_lib_suffix}
+ ENV
+@@ -99,10 +99,17 @@ find_package_handle_standard_args(LibAJANTV2 DEFAULT_MSG AJA_LIBRARIES_INCLUDE_D
+ mark_as_advanced(AJA_LIBRARIES_INCLUDE_DIR AJA_NTV2_LIB)
+
+ if(LIBAJANTV2_FOUND)
+- set(AJA_LIBRARIES_INCLUDE_DIR ${AJA_LIBRARIES_INCLUDE_DIR}/ajalibraries)
++ set(AJA_LIBRARIES_INCLUDE_DIR ${AJA_LIBRARIES_INCLUDE_DIR}/libajantv2)
+ set(AJA_LIBRARIES_INCLUDE_DIRS
+ ${AJA_LIBRARIES_INCLUDE_DIR} ${AJA_LIBRARIES_INCLUDE_DIR}/ajaanc ${AJA_LIBRARIES_INCLUDE_DIR}/ajabase
+ ${AJA_LIBRARIES_INCLUDE_DIR}/ajantv2 ${AJA_LIBRARIES_INCLUDE_DIR}/ajantv2/includes)
++ if(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows")
++ list(APPEND AJA_LIBRARIES_INCLUDE_DIRS ${AJA_LIBRARIES_INCLUDE_DIR}/ajantv2/src/win)
++ elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin")
++ list(APPEND AJA_LIBRARIES_INCLUDE_DIRS ${AJA_LIBRARIES_INCLUDE_DIR}/ajantv2/src/mac)
++ elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux")
++ list(APPEND AJA_LIBRARIES_INCLUDE_DIRS ${AJA_LIBRARIES_INCLUDE_DIR}/ajantv2/src/lin)
++ endif()
+
+ set(LIBAJANTV2_LIBRARIES ${AJA_NTV2_LIB})
+ if(AJA_NTV2_DEBUG_LIB STREQUAL "AJA_NTV2_DEBUG_LIB-NOTFOUND")
+diff --git a/plugins/aja/aja-widget-io.cpp b/plugins/aja/aja-widget-io.cpp
+index 18e571dfe98c5..c7d01c0acd465 100644
+--- a/plugins/aja/aja-widget-io.cpp
++++ b/plugins/aja/aja-widget-io.cpp
+@@ -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},
diff --git a/PKGBUILD b/PKGBUILD
index b68792d49f69..22c0ab6911c4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,13 +2,14 @@
pkgname=obs-studio-tytan652
pkgver=30.0.2
-pkgrel=6
+pkgrel=7
pkgdesc="Free and open source software for video recording and live streaming. With everything except service integrations. Plus V4L2 devices by paths, my bind interface PR, and sometimes backported fixes"
arch=("x86_64" "aarch64")
url="https://github.com/obsproject/obs-studio"
license=('GPL-2.0-or-later')
# To manage dependency rebuild easily, this will prevent you to rebuild OBS on non-updated system
_qtver=6.6.2
+_libajantv2ver=17.0.1
_libdatachannelver=0.20
_mbedtlsver=3.5.1
_pythonver=3.11
@@ -65,7 +66,7 @@ makedepends=(
"jack" # Deps of JACK plugin
"git"
"uthash" # Deps of libobs
- "libajantv2" # Deps of AJA plugin (static lib)
+ "libajantv2>=$_libajantv2ver" # Deps of AJA plugins
"libdatachannel>=$_libdatachannelver" # Deps of WebRTC plugin (NICE variant like the Flatpak)
"libfdk-aac" # Deps of FDK AAC plugin
"luajit" # Deps of Scripting plugin
@@ -98,6 +99,7 @@ optdepends=(
"systemd-libs: V4L2 support"
"v4l2loopback-dkms: V4L2 virtual camera output"
"libdatachannel>=$_libdatachannelver: WHIP Support"
+ "libajantv2>=$_libajantv2ver: AJA support"
)
provides=("obs-studio=$pkgver" "obs-vst" "obs-websocket" "obs-browser")
conflicts=(
@@ -114,6 +116,7 @@ source=(
"v4l2_by-path.patch" # https://patch-diff.githubusercontent.com/raw/obsproject/obs-studio/pull/3437.patch
"0001-Add_finder_for_uthash.patch"
"0002-Use_system_uthash.patch"
+ "0003-Update_to_libajantv2_17_legacy_path_only.patch"
)
sha256sums=(
"SKIP"
@@ -123,6 +126,7 @@ sha256sums=(
"ee54b9c6f7e17fcc62c6afc094e65f18b2e97963c2fe92289b2b91972ac206e5"
"f4a56021a7f1c564f95b588d7c09b60a89efa2c1954c8a418cf6320b5a818542"
"874456110d17d2efe02f8a1f47f58c877922d8bdab6435df334b9e6460b26bf8"
+ "a7149e1d9a07270132cf8085d52225ed3200a78ea943cbf52d64b1b8f293e117"
)
if [[ $CARCH == 'x86_64' ]]; then
@@ -137,6 +141,7 @@ prepare() {
patch -Np1 -i "$srcdir/0001-Add_finder_for_uthash.patch"
patch -Np1 -i "$srcdir/0002-Use_system_uthash.patch"
+ patch -Np1 -i "$srcdir/0003-Update_to_libajantv2_17_legacy_path_only.patch"
cd "$srcdir/obs-studio"
## Add network interface binding for RTMP on Linux (https://github.com/tytan652/obs-studio/commits/bind_iface_eyeballed)