summaryrefslogtreecommitdiff
path: root/media-video/subtitlecomposer
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-09-03 04:17:54 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-09-03 04:17:54 +0100
commit778487365a91290a8fd0376883de1a4e874fe27b (patch)
tree3bdbb40cf98700e611d8a85531466480059442bb /media-video/subtitlecomposer
parentf247b36fc6df2694a347f5305eeb7f927d7c0ffe (diff)
gentoo auto-resync : 03:09:2023 - 04:17:54
Diffstat (limited to 'media-video/subtitlecomposer')
-rw-r--r--media-video/subtitlecomposer/Manifest6
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-changingaudio-crashfix.patch67
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg6-3.patch32
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-nullptr-deref.patch25
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-subtitle-crashfix.patch25
-rw-r--r--media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-vobsub-crashfix.patch45
-rw-r--r--media-video/subtitlecomposer/subtitlecomposer-0.7.1-r3.ebuild64
7 files changed, 264 insertions, 0 deletions
diff --git a/media-video/subtitlecomposer/Manifest b/media-video/subtitlecomposer/Manifest
index 5e1fc57a8def..27b06349c7d6 100644
--- a/media-video/subtitlecomposer/Manifest
+++ b/media-video/subtitlecomposer/Manifest
@@ -1,6 +1,12 @@
+AUX subtitlecomposer-0.7.1-changingaudio-crashfix.patch 2659 BLAKE2B 6e2ccc7ee687cb8353f36101b9b824adc9e6e3ec0d6574de08f08483e73cf12964f598d657b48aa2b7f322d66df3fca28fba9a85580da36a0aed90cf8bc535dc SHA512 54eeded590bfe56770798e9cc384fc92a41e9885dc9c7a700939cd4a7e55ceb543017445c6ca800e83a61d58ed9c05c0267172e2ece03402d5bd6f1cc5cdef18
AUX subtitlecomposer-0.7.1-ffmpeg6-1.patch 938 BLAKE2B 2b948713b9288770dafce137f4a9127215f6cfc98cc051b09b76b2d03a4aaefedf7b50aa3a95c1620ad252e9a4716809e9f6774a5efd950fbd05e4f719f8d401 SHA512 e79cfd5aadd9117dc3d1c03ddd2f8ce2083cc279868abf63285b7248b0010eef1c7b8b717584750a148c8aee41378a7349ebfe29eaa93438b053fe40eb6e7a87
AUX subtitlecomposer-0.7.1-ffmpeg6-2.patch 1691 BLAKE2B 8d7e32d7d04314a2b650bde55085936f0cdd63b0d84a562f357a2ac9e49ace1298b019c5786ac540209dee3838d8079ccede01ec44ed6502a26e74f9649ce9ef SHA512 9e3c5beb97cd9b9dd365b0c04e90db3b714f36ad396313e7ea1c43f3aded5342f8fb49ece4b780586fd4e3732ed8bfb82fc184102eb3b0f05e5f14a84c23c7f4
+AUX subtitlecomposer-0.7.1-ffmpeg6-3.patch 1268 BLAKE2B 49f072f8fddfde3e9db6579493af12987f32d4980d389defa2d2662e64942daf1a1232d894102856b0f327a2e19a810640803fdc968a6fd458edfefdab425f3b SHA512 35fe30d123aafef39f6684407bd9bbe86e85f9a9fcabf9cd91971dbd7b51acd9f48f1f2d2242f062cc02ba516f15aa8903beb210e74b7a465f45feaa5f0a4a6d
+AUX subtitlecomposer-0.7.1-nullptr-deref.patch 817 BLAKE2B ca8b141c6618d2be1c91cd7c17737dedb6192e5812e0fffadda4e45fc9cd793140b6b6401362f9ce7129aba2be48555afc15925f00360f48722b3dfd3bbdb08d SHA512 86d192ddbbdf4ed7162745c0683e1ccc4b8e12a2e5e12947fcfe6c3dc280318e3b666eaf02678f7ff63ead0e86b90915b1abc91f62b9fa9a405162c21ebe9868
+AUX subtitlecomposer-0.7.1-subtitle-crashfix.patch 870 BLAKE2B 6bc7dda7b42d43e2f1a06519a7873f6410fff1de8656f96490f5c71ee0c5cf746f7577e9aba624df67329e4cf7a4ae507c5d67d8bda90e9e5898e19d41392e19 SHA512 d667f2eb818333bdaf3475494b76d1339ab36d7e96c1c4f8cc1cfbf0714677dad60f427ffa4c5834bdaeccddad0ee3f8bd9f0e22560de4b2ca4f095f2ba0f046
+AUX subtitlecomposer-0.7.1-vobsub-crashfix.patch 1676 BLAKE2B 8fba201110d302e4279fe487567e7b826cad51743ed4d8ddc786fa18cc0bc4d561550c22b1a03696ef6eb2854b9a82866d74bd3066e083647f205ebc816d9e4a SHA512 fb7d4d69b5aff564b51dc6260735dc6739475c797aae6fe94f69ebd745a5a45b62111ccf7154f2de59458403e8d3d1eb48dad3e87f152c2f7741a9dd0d928ad4
DIST subtitlecomposer-0.7.1-patchset-1.tar.xz 6868 BLAKE2B 59ae09e6807b0c9eeb094556ec381157701a6d3ae66317c175816f2a779ef3db1874146c5ec0d211a07353bf592c1ff7ad8dcf91a1370916d37290204e7e5909 SHA512 bd7849ee7e4bb449b7f758bf86a45110f0e647d6a35ec31bbab82b7e8f02ac3b81aed958723848a08830a32f1e252dc2231d9a8a736b738b6c105c1a715aea1b
DIST subtitlecomposer-0.7.1.tar.xz 636808 BLAKE2B 4c71277c9646a64d59a0cd6923084b39292916e9edf154c026a051253fe8aabab1bdfb9e10c6fab5eb0d754ba428567c2259c637915e93d8d391b7f247c6dc79 SHA512 b486a1be8b414409af4ec2d2ccc86a7e9f34040f114b0efbbf817b5157d85b5f9a37d80272b468a389128f10c12316bf028dd86e2a7434a2b001bfd185208b92
EBUILD subtitlecomposer-0.7.1-r2.ebuild 1625 BLAKE2B cd30be03ee998661c3cd1b2e15eff026bbb1e0b803452023a61e9ab4f20d0318624fd2ff15b3f88dceb15467ba586e26a25721a215d91677ddf4f75d9a758c1e SHA512 6353b46489e305facd11b2ba7020382fadc74f8bb56593a97180f34322aabb486ecfd97ac900cedc6efb3df313312ee8ef0ff40d62137237c11beb900809c21f
+EBUILD subtitlecomposer-0.7.1-r3.ebuild 1771 BLAKE2B 196bd181b2518429e4a14de5f58b73a1839e12105497bd49a4e623260d477976124e02573c4a2eac36d51f16837c45c6f47a74d1e5f0705107f3148e39291808 SHA512 8630c41ab78445419ca9c4e638079feb92d718b1fdab949c3ac1df612af5418f6728ad448fd955b81a19be2094ad1507d020ee6ce0d3fa02b60e94badbbe1216
MISC metadata.xml 438 BLAKE2B b11cde969ef9af83c7e70ac17615703c8f0b4296113a8ff552a669c3b7bf7b5291106dd1c4ece993fd8195f5af3bcd1b05697b583bd85f4a155fa10351cbbadd SHA512 d32994646bdbfb90e5fde722a905ebf5fa59903de7c36fd8228ce257057ac8523d7219656d1f1a1bdcc3f0eec1ad9f34535d4090078c9e3a6890d58b8e1e3b71
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-changingaudio-crashfix.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-changingaudio-crashfix.patch
new file mode 100644
index 000000000000..be580af101d5
--- /dev/null
+++ b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-changingaudio-crashfix.patch
@@ -0,0 +1,67 @@
+From 88a6cf4e4aaa58229b9b07d66c2abd264dfbc2f1 Mon Sep 17 00:00:00 2001
+From: Mladen Milinkovic <maxrd2@smoothware.net>
+Date: Fri, 17 Jun 2022 21:34:20 +0200
+Subject: [PATCH] Fix deadlock/crash while changing audio stream on
+ paused/stopped media #71
+
+---
+ src/videoplayer/backend/audiodecoder.cpp | 2 +-
+ src/videoplayer/backend/decoder.cpp | 1 +
+ src/videoplayer/backend/ffplayer.cpp | 2 ++
+ src/videoplayer/videoplayer.cpp | 2 ++
+ 4 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/videoplayer/backend/audiodecoder.cpp b/src/videoplayer/backend/audiodecoder.cpp
+index d3d13e78..9c7ee1fc 100644
+--- a/src/videoplayer/backend/audiodecoder.cpp
++++ b/src/videoplayer/backend/audiodecoder.cpp
+@@ -499,7 +499,7 @@ AudioDecoder::run()
+ // bytes needed for 100ms of audio
+ const ALint hwMinBytes = m_vs->audClk.speed() * m_fmtTgt.bytesPerSec * .100;
+
+- while(!m_vs->abortRequested) {
++ while(!m_vs->abortRequested && !isInterruptionRequested()) {
+ ALint hwBufOffset = 0;
+ alGetSourcei(m_alSrc, AL_BYTE_OFFSET, &hwBufOffset);
+ if(!std::isnan(af->pts)) {
+diff --git a/src/videoplayer/backend/decoder.cpp b/src/videoplayer/backend/decoder.cpp
+index 79b1ad7a..8a69d918 100644
+--- a/src/videoplayer/backend/decoder.cpp
++++ b/src/videoplayer/backend/decoder.cpp
+@@ -155,6 +155,7 @@ Decoder::abort()
+ m_queue->abort();
+ if(m_frameQueue)
+ m_frameQueue->signal();
++ requestInterruption();
+ wait();
+ m_queue->flush();
+ }
+diff --git a/src/videoplayer/backend/ffplayer.cpp b/src/videoplayer/backend/ffplayer.cpp
+index 88288285..7b26e4a4 100644
+--- a/src/videoplayer/backend/ffplayer.cpp
++++ b/src/videoplayer/backend/ffplayer.cpp
+@@ -288,6 +288,8 @@ FFPlayer::activeAudioStream()
+ void
+ FFPlayer::activeAudioStream(int streamIndex)
+ {
++ if(!m_vs)
++ return;
+ streamIndex = streamIndex < 0 ? -1 : m_vs->demuxer->absoluteStreamIndex(AVMEDIA_TYPE_AUDIO, streamIndex);
+ m_vs->demuxer->selectStream(AVMEDIA_TYPE_AUDIO, streamIndex);
+ }
+diff --git a/src/videoplayer/videoplayer.cpp b/src/videoplayer/videoplayer.cpp
+index 0307ce7d..a42babe5 100644
+--- a/src/videoplayer/videoplayer.cpp
++++ b/src/videoplayer/videoplayer.cpp
+@@ -301,6 +301,8 @@ VideoPlayer::setupNotifications()
+
+ //connect(m_player, &FFPlayer::videoStreamsChanged, this, [this](const QStringList &streams){});
+ connect(m_player, &FFPlayer::audioStreamsChanged, this, [this](const QStringList &streams){
++ if(m_activeAudioStream >= 0)
++ m_player->activeAudioStream(m_activeAudioStream);
+ emit audioStreamsChanged(m_audioStreams = streams);
+ emit activeAudioStreamChanged(m_activeAudioStream = m_player->activeAudioStream());
+ });
+--
+GitLab
+
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg6-3.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg6-3.patch
new file mode 100644
index 000000000000..2887f179afd1
--- /dev/null
+++ b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg6-3.patch
@@ -0,0 +1,32 @@
+From d8f9797d9c0d45fa9f4402f79c539544b74d2cc7 Mon Sep 17 00:00:00 2001
+From: Mladen Milinkovic <maxrd2@smoothware.net>
+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 e8320ea0..7173306f 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
+
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-nullptr-deref.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-nullptr-deref.patch
new file mode 100644
index 000000000000..d6417179d436
--- /dev/null
+++ b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-nullptr-deref.patch
@@ -0,0 +1,25 @@
+From c94e4dc1362b9ac03cddb9def913ea6728875fe2 Mon Sep 17 00:00:00 2001
+From: Mladen Milinkovic <maxrd2@smoothware.net>
+Date: Sun, 18 Sep 2022 23:09:17 +0200
+Subject: [PATCH] Fixed possible null pointer deref
+
+---
+ src/videoplayer/backend/streamdemuxer.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/videoplayer/backend/streamdemuxer.cpp b/src/videoplayer/backend/streamdemuxer.cpp
+index d15cf9f4..4ae4171d 100644
+--- a/src/videoplayer/backend/streamdemuxer.cpp
++++ b/src/videoplayer/backend/streamdemuxer.cpp
+@@ -45,7 +45,7 @@ isRealTime(AVFormatContext *s)
+ #else
+ const char *url = s->url;
+ #endif
+- if(s->pb && (!strncmp(url, "rtp:", 4) || !strncmp(url, "udp:", 4)))
++ if(s->pb && url && (!strncmp(url, "rtp:", 4) || !strncmp(url, "udp:", 4)))
+ return 1;
+ return 0;
+ }
+--
+GitLab
+
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-subtitle-crashfix.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-subtitle-crashfix.patch
new file mode 100644
index 000000000000..4502d7254f9b
--- /dev/null
+++ b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-subtitle-crashfix.patch
@@ -0,0 +1,25 @@
+From 09e5d80286276d4683c944dfa0cddda3479006c0 Mon Sep 17 00:00:00 2001
+From: Mladen Milinkovic <maxrd2@smoothware.net>
+Date: Thu, 19 Jan 2023 18:39:31 +0100
+Subject: [PATCH] Subtitle: fixed crash in splitLines()
+
+---
+ src/core/subtitle.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/core/subtitle.cpp b/src/core/subtitle.cpp
+index d3da532d..3359062e 100644
+--- a/src/core/subtitle.cpp
++++ b/src/core/subtitle.cpp
+@@ -541,7 +541,7 @@ Subtitle::splitLines(const RangeList &ranges)
+ c->insertText(QString(QChar::LineFeed));
+ return true;
+ }
+- if(text.at(j) == QChar::Space) {
++ if(j < len && text.at(j) == QChar::Space) {
+ c->movePosition(QTextCursor::Start);
+ c->movePosition(QTextCursor::NextCharacter, QTextCursor::MoveAnchor, j);
+ c->movePosition(QTextCursor::NextCharacter, QTextCursor::KeepAnchor);
+--
+GitLab
+
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-vobsub-crashfix.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-vobsub-crashfix.patch
new file mode 100644
index 000000000000..20c5835ba971
--- /dev/null
+++ b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-vobsub-crashfix.patch
@@ -0,0 +1,45 @@
+From 78553af05ba97da0920f7cabd281503bd4ca484a Mon Sep 17 00:00:00 2001
+From: Mladen Milinkovic <maxrd2@smoothware.net>
+Date: Wed, 23 Nov 2022 15:47:56 +0100
+Subject: [PATCH] VobSub: fixed crash when moving to previous image
+
+Do not delete lines on temporary Subtitle that is shown in LinesWidget.
+SubtitleLine is deleted immediately, while LinesWidget wants to repaint
+before line reference is removed from its list model.
+
+https://bugs.kde.org/show_bug.cgi?id=462156
+---
+ src/formats/vobsub/vobsubinputprocessdialog.cpp | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/src/formats/vobsub/vobsubinputprocessdialog.cpp b/src/formats/vobsub/vobsubinputprocessdialog.cpp
+index ac54b552..2ba61550 100644
+--- a/src/formats/vobsub/vobsubinputprocessdialog.cpp
++++ b/src/formats/vobsub/vobsubinputprocessdialog.cpp
+@@ -697,9 +697,12 @@ VobSubInputProcessDialog::processNextPiece()
+ piecePrev = piece;
+ }
+
+- SubtitleLine *l = new SubtitleLine((*m_frameCurrent)->subShowTime, (*m_frameCurrent)->subHideTime);
++ SubtitleLine *l = m_subtitle->line((*m_frameCurrent)->index);
++ if(!l) {
++ l = new SubtitleLine((*m_frameCurrent)->subShowTime, (*m_frameCurrent)->subHideTime);
++ m_subtitle->insertLine(l);
++ }
+ l->primaryDoc()->setPlainText(subText);
+- m_subtitle->insertLine(l);
+
+ ui->grpText->setDisabled(true);
+ ui->grpNavButtons->setDisabled(true);
+@@ -809,8 +812,6 @@ VobSubInputProcessDialog::onPrevImageClicked()
+ return;
+
+ --m_frameCurrent;
+- if(m_subtitle->lastIndex() >= 0)
+- m_subtitle->removeLines(RangeList(Range(m_subtitle->lastIndex())), Both);
+
+ ui->progressBar->setValue((*m_frameCurrent)->index + 1);
+
+--
+GitLab
+
diff --git a/media-video/subtitlecomposer/subtitlecomposer-0.7.1-r3.ebuild b/media-video/subtitlecomposer/subtitlecomposer-0.7.1-r3.ebuild
new file mode 100644
index 000000000000..6be3556ee1b8
--- /dev/null
+++ b/media-video/subtitlecomposer/subtitlecomposer-0.7.1-r3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm kde.org
+
+DESCRIPTION="Text-based subtitles editor"
+HOMEPAGE="https://subtitlecomposer.kde.org/"
+PATCHSET="${P}-patchset-1"
+SRC_URI="mirror://kde/stable/${PN}/${P}.tar.xz
+ https://dev.gentoo.org/~asturm/distfiles/${PATCHSET}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="5"
+KEYWORDS="~amd64 ~x86"
+IUSE="unicode"
+
+DEPEND="
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=kde-frameworks/kcodecs-${KFMIN}:5
+ >=kde-frameworks/kcompletion-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/ktextwidgets-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ >=kde-frameworks/sonnet-${KFMIN}:5
+ media-libs/openal
+ media-video/ffmpeg:0=
+ unicode? ( dev-libs/icu:= )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${WORKDIR}/${PATCHSET}/${P}-tests-optional.patch"
+ "${WORKDIR}/${PATCHSET}/${P}-gles-support.patch" # bug 820035
+ "${WORKDIR}/${PATCHSET}/${P}-ffmpeg-5.patch" # bug 834416
+ "${WORKDIR}/${PATCHSET}/${P}-replace-kross-w-qjsengine.patch" # bug 755956
+ "${FILESDIR}"/${P}-nullptr-deref.patch
+ "${FILESDIR}"/${P}-ffmpeg6-{1,2,3}.patch # bugs 910048, 913475
+ "${FILESDIR}"/${P}-{changingaudio,subtitle,vobsub}-crashfix.patch # KDE-bug 462156
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_PocketSphinx=ON # bugs 616706, 610434
+ $(cmake_use_find_package unicode ICU)
+ )
+
+ ecm_src_configure
+}