summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-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)
+