diff --git a/subtitlecomposer/default/4f4f560e40ba0b760cf688eb024be3cc734ca347.patch b/subtitlecomposer/default/4f4f560e40ba0b760cf688eb024be3cc734ca347.patch new file mode 100644 index 00000000..a0314fb0 --- /dev/null +++ b/subtitlecomposer/default/4f4f560e40ba0b760cf688eb024be3cc734ca347.patch @@ -0,0 +1,65 @@ +From 4f4f560e40ba0b760cf688eb024be3cc734ca347 Mon Sep 17 00:00:00 2001 +From: Mladen Milinkovic +Date: Tue, 25 Jan 2022 14:01:56 +0100 +Subject: [PATCH] Fix compilation with ffmpeg5 #63 + +--- + src/streamprocessor/streamprocessor.cpp | 2 +- + src/videoplayer/backend/decoder.h | 1 + + src/videoplayer/backend/framequeue.h | 1 + + src/videoplayer/backend/streamdemuxer.cpp | 2 +- + 4 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/streamprocessor/streamprocessor.cpp b/src/streamprocessor/streamprocessor.cpp +index b86795e..8faf8a2 100644 +--- a/src/streamprocessor/streamprocessor.cpp ++++ b/src/streamprocessor/streamprocessor.cpp +@@ -195,7 +195,7 @@ StreamProcessor::findStream(int streamType, int streamIndex, bool imageSub) + int ret; + char errorText[1024]; + +- AVCodec *dec = avcodec_find_decoder(m_avStream->codecpar->codec_id); ++ const AVCodec *dec = avcodec_find_decoder(m_avStream->codecpar->codec_id); + if(!dec) { + qWarning() << "Failed to find decoder for stream" << i; + return false; +diff --git a/src/videoplayer/backend/decoder.h b/src/videoplayer/backend/decoder.h +index 4ab95b2..fb6840d 100644 +--- a/src/videoplayer/backend/decoder.h ++++ b/src/videoplayer/backend/decoder.h +@@ -11,6 +11,7 @@ + #include + + extern "C" { ++#include "libavcodec/avcodec.h" + #include "libavformat/avformat.h" + } + +diff --git a/src/videoplayer/backend/framequeue.h b/src/videoplayer/backend/framequeue.h +index dc9b2fa..ece1166 100644 +--- a/src/videoplayer/backend/framequeue.h ++++ b/src/videoplayer/backend/framequeue.h +@@ -9,6 +9,7 @@ + #define FRAMEQUEUE_H + + extern "C" { ++#include "libavcodec/avcodec.h" + #include "libavformat/avformat.h" + } + +diff --git a/src/videoplayer/backend/streamdemuxer.cpp b/src/videoplayer/backend/streamdemuxer.cpp +index 1e339b3..e8320ea 100644 +--- a/src/videoplayer/backend/streamdemuxer.cpp ++++ b/src/videoplayer/backend/streamdemuxer.cpp +@@ -230,7 +230,7 @@ StreamDemuxer::componentOpen(int streamIndex) + { + AVFormatContext *ic = m_vs->fmtContext; + AVCodecContext *avCtx; +- AVCodec *codec; ++ const AVCodec *codec; + AVDictionary *opts = nullptr; + AVDictionaryEntry *t = nullptr; + int sampleRate, nbChannels; +-- +GitLab + diff --git a/subtitlecomposer/default/PKGBUILD b/subtitlecomposer/default/PKGBUILD index adf5e988..29267d35 100644 --- a/subtitlecomposer/default/PKGBUILD +++ b/subtitlecomposer/default/PKGBUILD @@ -28,12 +28,12 @@ optdepends=('pocketsphinx: Pocketsphinx speech recognition backend' _tar=${pkgname}-${pkgver} source=("https://download.kde.org/stable/${pkgname}/${_tar}.tar.xz" "https://download.kde.org/stable/${pkgname}/${_tar}.tar.xz.sig" - "https://invent.kde.org/multimedia/subtitlecomposer/-/commit/4f4f560e40ba0b760cf688eb024be3cc734ca347.patch" - "https://invent.kde.org/multimedia/subtitlecomposer/-/commit/d8f9797d9c0d45fa9f4402f79c539544b74d2cc7.patch") + "4f4f560e40ba0b760cf688eb024be3cc734ca347.patch" + "d8f9797d9c0d45fa9f4402f79c539544b74d2cc7.patch") sha256sums=('ef9cb3c0c1fe1f40cf9d8e795859b9b28adf2da3be77a076d46bc28df4cd0255' 'SKIP' - '012d89a4c3e328c0dca02a85113ac5f01b52a398de5dc2ed75d2d5d14b36886d' - '4044626bbd5682692cffd458be70313318f7e665f22df0fe7648acee28064aa1') + '26197260a6e4419c7178c65a5ac9e8811418e40c97454b2aa8a62b149305dcd5' + '9df3e453d04e74a49c11ff67dbd8d9460d92744636769bf04e898f16b73124d5') validpgpkeys=('76F79007A54A4B68F1547928E2418746EF9D9B26') prepare() { diff --git a/subtitlecomposer/default/d8f9797d9c0d45fa9f4402f79c539544b74d2cc7.patch b/subtitlecomposer/default/d8f9797d9c0d45fa9f4402f79c539544b74d2cc7.patch new file mode 100644 index 00000000..3737bcee --- /dev/null +++ b/subtitlecomposer/default/d8f9797d9c0d45fa9f4402f79c539544b74d2cc7.patch @@ -0,0 +1,32 @@ +From d8f9797d9c0d45fa9f4402f79c539544b74d2cc7 Mon Sep 17 00:00:00 2001 +From: Mladen Milinkovic +Date: Fri, 1 Apr 2022 08:35:17 +0200 +Subject: [PATCH] VideoPlayer: Fix usage of deprecated/removed AVCodec option + #68 + +AVCodecContext.refcounted_frames was useful for deprecated API only +(avcodec_decode_video2/avcodec_decode_audio4). The new decode APIs +(avcodec_send_packet/avcodec_receive_frame) always work with reference +counted frames + +https://github.com/FFmpeg/FFmpeg/commit/b1cf151c4dfdbd049cd41863b4e0cde927585e17 +--- + src/videoplayer/backend/streamdemuxer.cpp | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/videoplayer/backend/streamdemuxer.cpp b/src/videoplayer/backend/streamdemuxer.cpp +index e8320ea..7173306 100644 +--- a/src/videoplayer/backend/streamdemuxer.cpp ++++ b/src/videoplayer/backend/streamdemuxer.cpp +@@ -286,8 +286,6 @@ StreamDemuxer::componentOpen(int streamIndex) + av_dict_set(&opts, "threads", "auto", 0); + if(stream_lowres) + av_dict_set_int(&opts, "lowres", stream_lowres, 0); +- if(avCtx->codec_type == AVMEDIA_TYPE_VIDEO || avCtx->codec_type == AVMEDIA_TYPE_AUDIO) +- av_dict_set(&opts, "refcounted_frames", "1", 0); + if((ret = avcodec_open2(avCtx, codec, &opts)) < 0) { + goto fail; + } +-- +GitLab +