summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorOscar Cowdery Lack2022-09-07 12:06:40 +1000
committerOscar Cowdery Lack2022-09-07 12:06:40 +1000
commit2ab1deb1063ad4871542654faa02defe048b3c10 (patch)
tree16e38780e648b237e5b5f04ce612f3232905465a
parentc63d8486a72182784759c38f190d4f24d1ac2303 (diff)
downloadaur-2ab1deb1063ad4871542654faa02defe048b3c10.tar.gz
2.3.3-7
- Use upstreamed patches where possible - Update ffmpeg-5.0.patch - Add patch to include missing fstream header - Switch to local cmake patch as the upstream fix was reverted. The local patch isn't technically correct but it does fix the build on Arch so we'll keep using it here for now.
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD22
-rw-r--r--ffmpeg-5.0.patch22
-rw-r--r--ffmpeg-cmake.patch19
4 files changed, 60 insertions, 25 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 845cecc3f874..f81cc1758a17 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = casparcg-server
pkgdesc = Software used to play out professional graphics, audio and video to multiple outputs
pkgver = 2.3.3
- pkgrel = 6
+ pkgrel = 7
url = https://github.com/CasparCG/server
arch = x86_64
license = GPL3
@@ -27,12 +27,13 @@ pkgbase = casparcg-server
source = https://github.com/CasparCG/server/commit/9cafa27838039aa65af3c97fe7d0c4531a952cdc.patch
source = https://github.com/CasparCG/server/commit/9b0990bee89b7a9fa195db75c976c2b20e33ebb5.patch
source = https://github.com/CasparCG/server/commit/e0bbb969b171c85332e77ee8b50f29b4634b7ad7.patch
- source = https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1394.patch
- source = https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1397.patch
+ source = https://github.com/CasparCG/server/commit/8fce42fabb67b469fe2b6fc0b22af69773b21779.patch
+ source = https://github.com/CasparCG/server/commit/a1933f38a7b14fa27d8a4a496ffe84782a840830.patch
+ source = https://github.com/CasparCG/server/commit/09c655313cac5951db23a90f8d8ea54c044def8e.patch
source = https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1308.patch
- source = https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1418.patch
- source = https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1420.patch
+ source = https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1438.patch
source = ffmpeg-5.0.patch
+ source = ffmpeg-cmake.patch
source = https://cef-builds.spotifycdn.com/cef_binary_3.3578.1870.gc974488_linux64_minimal.tar.bz2
source = casparcg
sha256sums = 6d8e973949009e95bb5a6496e26cbe680efd77666936e131df0da569f8f7c7e1
@@ -40,12 +41,13 @@ pkgbase = casparcg-server
sha256sums = b67cd51d6b01fef1080b49cbb146e94981b1681b90aa3e5a4c28309ce1d5db1b
sha256sums = 3e9d6c96f3b196eb3104a59f99dab86a823c887a71ea09883f094003a184ad65
sha256sums = c698a177a13a32ad2eb5e1a4ba304526cebc4b63c459893288f14147c4d83ae6
- sha256sums = ab663b18f7221d4bcb0835ec7290910341c94a6f3b03cb6defb3eabeaf0f3396
- sha256sums = 153aea3dc15646db29c01ae4ee82517bbb024bf1d177ed1ea55bd080b525d06e
+ sha256sums = d5bee5099e44de2ba0a86a6d099794a8e4be1811439c0ad0b0fb06700be47f7b
+ sha256sums = 30484f8a455ca5e55d758820499b9f8e275762c8004762dfd9d502a662d2e701
+ sha256sums = 0a811ad09fe9c7591a8cf3a158d9f10d2a951bd2fcba98cb3b87a6bacf8dfe48
sha256sums = 5c6f2a3007e3a8739bc1f3eaec3c694af9836aed1943217843a92acff80950c1
- sha256sums = 322158baef39dff7bfcf899a2ffea0fbe148443664beac380b9be6858a2b71d1
- sha256sums = a87a88f65e9cf192f4ae93afb20ecc4527b2357ebe1e26e23425d1e8f5e888ed
- sha256sums = d82dd031ca0d3d46b0c18c018b59a5426e0cba0627ac434b61d683b69b347f86
+ sha256sums = 170cf317a92e4b94233f65ba5cbf984b94d648080a517852353579e5801482cc
+ sha256sums = 74258b79273b852209f03c826cd64879514929cd222fa03c924b71444c9110a1
+ sha256sums = e7f0e0dd123b1cccac21611f4e32ba7d27ce24a9a0587ef6f2180fb3c63894c0
sha256sums = b7c5401f342917ece7be583566bfc48b5cc1a8ff9f6470d396130b4aca7dfb22
sha256sums = ce9dd83ae2ef9289e551f0a3ecbe246537195049c15f69bbfdc6c3ddd23291c2
diff --git a/PKGBUILD b/PKGBUILD
index 11bff787a07c..e670738eeb69 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@ pkgname=casparcg-server
pkgver=2.3.3
_pkgver=$pkgver-lts-stable
_cef_version=3.3578.1870.gc974488
-pkgrel=6
+pkgrel=7
pkgdesc="Software used to play out professional graphics, audio and video to multiple outputs"
arch=('x86_64')
url="https://github.com/CasparCG/server"
@@ -15,12 +15,13 @@ source=("https://github.com/CasparCG/server/archive/refs/tags/v$_pkgver.tar.gz"
"https://github.com/CasparCG/server/commit/9cafa27838039aa65af3c97fe7d0c4531a952cdc.patch"
"https://github.com/CasparCG/server/commit/9b0990bee89b7a9fa195db75c976c2b20e33ebb5.patch"
"https://github.com/CasparCG/server/commit/e0bbb969b171c85332e77ee8b50f29b4634b7ad7.patch"
- "https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1394.patch"
- "https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1397.patch"
+ "https://github.com/CasparCG/server/commit/8fce42fabb67b469fe2b6fc0b22af69773b21779.patch"
+ "https://github.com/CasparCG/server/commit/a1933f38a7b14fa27d8a4a496ffe84782a840830.patch"
+ "https://github.com/CasparCG/server/commit/09c655313cac5951db23a90f8d8ea54c044def8e.patch"
"https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1308.patch"
- "https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1418.patch"
- "https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1420.patch"
+ "https://patch-diff.githubusercontent.com/raw/CasparCG/server/pull/1438.patch"
"ffmpeg-5.0.patch"
+ "ffmpeg-cmake.patch"
"https://cef-builds.spotifycdn.com/cef_binary_${_cef_version}_linux64_minimal.tar.bz2"
casparcg)
sha256sums=('6d8e973949009e95bb5a6496e26cbe680efd77666936e131df0da569f8f7c7e1'
@@ -28,12 +29,13 @@ sha256sums=('6d8e973949009e95bb5a6496e26cbe680efd77666936e131df0da569f8f7c7e1'
'b67cd51d6b01fef1080b49cbb146e94981b1681b90aa3e5a4c28309ce1d5db1b'
'3e9d6c96f3b196eb3104a59f99dab86a823c887a71ea09883f094003a184ad65'
'c698a177a13a32ad2eb5e1a4ba304526cebc4b63c459893288f14147c4d83ae6'
- 'ab663b18f7221d4bcb0835ec7290910341c94a6f3b03cb6defb3eabeaf0f3396'
- '153aea3dc15646db29c01ae4ee82517bbb024bf1d177ed1ea55bd080b525d06e'
+ 'd5bee5099e44de2ba0a86a6d099794a8e4be1811439c0ad0b0fb06700be47f7b'
+ '30484f8a455ca5e55d758820499b9f8e275762c8004762dfd9d502a662d2e701'
+ '0a811ad09fe9c7591a8cf3a158d9f10d2a951bd2fcba98cb3b87a6bacf8dfe48'
'5c6f2a3007e3a8739bc1f3eaec3c694af9836aed1943217843a92acff80950c1'
- '322158baef39dff7bfcf899a2ffea0fbe148443664beac380b9be6858a2b71d1'
- 'a87a88f65e9cf192f4ae93afb20ecc4527b2357ebe1e26e23425d1e8f5e888ed'
- 'd82dd031ca0d3d46b0c18c018b59a5426e0cba0627ac434b61d683b69b347f86'
+ '170cf317a92e4b94233f65ba5cbf984b94d648080a517852353579e5801482cc'
+ '74258b79273b852209f03c826cd64879514929cd222fa03c924b71444c9110a1'
+ 'e7f0e0dd123b1cccac21611f4e32ba7d27ce24a9a0587ef6f2180fb3c63894c0'
'b7c5401f342917ece7be583566bfc48b5cc1a8ff9f6470d396130b4aca7dfb22'
'ce9dd83ae2ef9289e551f0a3ecbe246537195049c15f69bbfdc6c3ddd23291c2')
diff --git a/ffmpeg-5.0.patch b/ffmpeg-5.0.patch
index 538e7d5864b6..4b26310e8dcb 100644
--- a/ffmpeg-5.0.patch
+++ b/ffmpeg-5.0.patch
@@ -93,15 +93,18 @@ index dc532eb55..ee3d25449 100644
}
}} // namespace caspar::ffmpeg
diff --git a/src/modules/ffmpeg/producer/av_input.cpp b/src/modules/ffmpeg/producer/av_input.cpp
-index 775491e20..bc3946aa8 100644
+index 775491e20..4b77f2320 100644
--- a/src/modules/ffmpeg/producer/av_input.cpp
+++ b/src/modules/ffmpeg/producer/av_input.cpp
-@@ -124,7 +124,7 @@ void Input::internal_reset()
+@@ -124,7 +124,11 @@ void Input::internal_reset()
static const std::set<std::wstring> PROTOCOLS_TREATED_AS_FORMATS = {L"dshow", L"v4l2", L"iec61883"};
-- AVInputFormat* input_format = nullptr;
++#if LIBAVFORMAT_VERSION_MAJOR >= 59
+ const AVInputFormat* input_format = nullptr;
++#else
+ AVInputFormat* input_format = nullptr;
++#endif
auto url_parts = caspar::protocol_split(u16(filename_));
if (url_parts.first == L"http" || url_parts.first == L"https") {
FF(av_dict_set(&options, "multiple_requests", "1", 0)); // NOTE https://trac.ffmpeg.org/ticket/7034#comment:3
@@ -127,7 +130,7 @@ index 6b31f8f81..e20eb6703 100644
if (codec->capabilities & AV_CODEC_CAP_AUTO_THREADS) {
numThreads = 0;
diff --git a/src/modules/ffmpeg/util/av_util.cpp b/src/modules/ffmpeg/util/av_util.cpp
-index 96d535446..9e61ab42a 100644
+index 96d535446..82bba93da 100644
--- a/src/modules/ffmpeg/util/av_util.cpp
+++ b/src/modules/ffmpeg/util/av_util.cpp
@@ -9,7 +9,9 @@
@@ -140,7 +143,7 @@ index 96d535446..9e61ab42a 100644
#include <libavutil/pixfmt.h>
}
#if defined(_MSC_VER)
-@@ -119,47 +121,51 @@ core::pixel_format get_pixel_format(AVPixelFormat pix_fmt)
+@@ -119,47 +121,60 @@ core::pixel_format get_pixel_format(AVPixelFormat pix_fmt)
core::pixel_format_desc pixel_format_desc(AVPixelFormat pix_fmt, int width, int height, std::vector<int>& data_map)
{
// Get linesizes
@@ -177,11 +180,20 @@ index 96d535446..9e61ab42a 100644
// Find chroma height
- auto size2 = static_cast<int>(dummy_pict.data[2] - dummy_pict.data[1]);
- auto h2 = size2 / dummy_pict.linesize[1];
++ // av_image_fill_plane_sizes is not available until ffmpeg 4.4, but we still need to support ffmpeg 4.2, so
++ // we fall back to calling av_image_fill_pointers with a NULL image buffer. We can't unconditionally use
++ // av_image_fill_pointers because it will not accept a NULL buffer on ffmpeg >= 5.0.
++#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(56, 56, 100)
+ size_t sizes[4];
+ ptrdiff_t linesizes1[4];
+ for (int i = 0; i < 4; i++) linesizes1[i] = linesizes[i];
+ av_image_fill_plane_sizes(sizes, pix_fmt, height, linesizes1);
+ auto size2 = static_cast<int>(sizes[1]);
++#else
++ uint8_t dummy_pict_data[4];
++ av_image_fill_pointers(&dummy_pict_data, pix_fmt, height, NULL, linesizes);
++ auto size2 = static_cast<int>(dummy_pict_data[2] - dummy_pict_data[1]);
++#endif
+ auto h2 = size2 / linesizes[1];
- desc.planes.push_back(core::pixel_format_desc::plane(dummy_pict.linesize[0], height, 1));
diff --git a/ffmpeg-cmake.patch b/ffmpeg-cmake.patch
new file mode 100644
index 000000000000..e267e001f19e
--- /dev/null
+++ b/ffmpeg-cmake.patch
@@ -0,0 +1,19 @@
+commit 657f710155d4afdd488f1647d6f4d5dc4d7201d5
+Author: Oscar Cowdery Lack <oscar@lightningvisuals.com>
+Date: Thu Apr 21 22:23:12 2022 +1000
+
+ fix: incorrect variable name in FindFFmpeg (#1394)
+
+diff --git a/src/CMakeModules/FindFFmpeg.cmake b/src/CMakeModules/FindFFmpeg.cmake
+index a5560d808..383c995a3 100644
+--- a/src/CMakeModules/FindFFmpeg.cmake
++++ b/src/CMakeModules/FindFFmpeg.cmake
+@@ -63,7 +63,7 @@ macro(find_component _component _pkgconfig _library _header)
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ find_package(PkgConfig)
+ if (PKG_CONFIG_FOUND)
+- pkg_check_modules(${_component} ${_pkgconfig})
++ pkg_check_modules(PC_LIB${_component} ${_pkgconfig})
+ endif ()
+ endif (NOT WIN32)
+