diff options
-rw-r--r-- | .SRCINFO | 22 | ||||
-rw-r--r-- | PKGBUILD | 22 | ||||
-rw-r--r-- | ffmpeg-5.0.patch | 22 | ||||
-rw-r--r-- | ffmpeg-cmake.patch | 19 |
4 files changed, 60 insertions, 25 deletions
@@ -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 @@ -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) + |