PR #20244 opened by Zhao Zhili (quink)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20244
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20244.patch

text + 1 can break a multibyte character, e.g., Chinese in UTF-8.
There is no space at the beginning in this case.


>From 7d007b6b7650baf4eaeb2f6833f1ba1fc40a03c0 Mon Sep 17 00:00:00 2001
From: Zhao Zhili <zhiliz...@tencent.com>
Date: Fri, 15 Aug 2025 20:39:49 +0800
Subject: [PATCH] avfilter/af_whisper: fix broken output for multibyte
 character

text + 1 can break a multibyte character, e.g., Chinese in UTF-8.
There is no space at the beginning in this case.
---
 libavfilter/af_whisper.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavfilter/af_whisper.c b/libavfilter/af_whisper.c
index 186b624504..bd145d6d1d 100644
--- a/libavfilter/af_whisper.c
+++ b/libavfilter/af_whisper.c
@@ -215,7 +215,9 @@ static void run_transcription(AVFilterContext *ctx, AVFrame 
*frame, int samples)
 
     for (int i = 0; i < n_segments; ++i) {
         const char *text = whisper_full_get_segment_text(wctx->ctx_wsp, i);
-        char *text_cleaned = av_strireplace(text + 1, "[BLANK_AUDIO]", "");
+        if (av_isspace(text[0]))
+            text++;
+        char *text_cleaned = av_strireplace(text, "[BLANK_AUDIO]", "");
 
         if (av_strnlen(text_cleaned, 1) == 0) {
             av_freep(&text_cleaned);
-- 
2.49.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to