diff options
Diffstat (limited to 'media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg6-2.patch')
-rw-r--r-- | media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg6-2.patch | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg6-2.patch b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg6-2.patch new file mode 100644 index 000000000000..58c3e9d9dfd3 --- /dev/null +++ b/media-video/subtitlecomposer/files/subtitlecomposer-0.7.1-ffmpeg6-2.patch @@ -0,0 +1,42 @@ +From 0bb0e6ed99d5a4200cc89fc6e8b3013c70465402 Mon Sep 17 00:00:00 2001 +From: Mladen Milinkovic <maxrd2@smoothware.net> +Date: Mon, 5 Jun 2023 10:13:15 +0200 +Subject: [PATCH] StreamProcessor: fixed embedded ASS decoding + +Seems embeded ASS subtitle format got changed in FFmpeg 6. Haven't found +any references to it tho, so this might still be borked in some cases. +--- + src/streamprocessor/streamprocessor.cpp | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/src/streamprocessor/streamprocessor.cpp b/src/streamprocessor/streamprocessor.cpp +index b759b0d3..1e883780 100644 +--- a/src/streamprocessor/streamprocessor.cpp ++++ b/src/streamprocessor/streamprocessor.cpp +@@ -537,11 +537,10 @@ StreamProcessor::processText() + case SUBTITLE_ASS: { + #if 1 + const char *assText = sub->ass; +- if(strncmp("Dialogue", assText, 8) != 0) +- break; +- ++ // FIXME: did ass format change with ffmpeg6? can't find any references ++ const int textLocation = strncmp("Dialogue", assText, 8) ? 8 : 9; + // Dialogue: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text +- for(int c = 9; c && *assText; assText++) { ++ for(int c = textLocation; c && *assText; assText++) { + if(*assText == ',') + c--; + } +@@ -550,7 +549,7 @@ StreamProcessor::processText() + "{\\c&H0000ff&}red {\\c&H00ff00&}green {\\c&Hff0000&}blue{\\r}\\n" + "Another {\\b100}bold\\h{\\i1}bolditalic{\\b0\\i0} some{\\anidfsd} unsupported tag"; + #endif +- QString assChunk(assText); ++ QString assChunk = QString::fromUtf8(assText); + + assChunk + .replace(QStringLiteral("\\N"), QStringLiteral("\n")) +-- +GitLab + |