This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 3e6580db5ba61507136a36cfc01418a3b8b91f98
Author:     Jun Zhao <[email protected]>
AuthorDate: Mon Sep 28 07:00:19 2026 +0800
Commit:     Jun Zhao <[email protected]>
CommitDate: Mon Sep 28 01:08:27 2026 +0000

    tests/fate/subtitles: add fate-sub-karaoke-webvttenc test
    
    Add a self-contained regression test transcoding tests/sub-karaoke.ass
    to WebVTT, covering initial delays, line breaks (\N), karaoke tags
    (\k, \K, \ko, \kf), style tags, and cue boundary suppression without
    requiring external samples.
    
    Also cover output-side -ss, so cue headers stay aligned with the
    inline timestamps produced from the shifted subtitle PTS.
    
    Signed-off-by: Jun Zhao <[email protected]>
---
 tests/fate/subtitles.mak                |  9 ++++++++-
 tests/ref/fate/sub-karaoke-webvttenc    | 14 ++++++++++++++
 tests/ref/fate/sub-karaoke-webvttenc-ss |  4 ++++
 tests/sub-karaoke.ass                   | 15 +++++++++++++++
 4 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/tests/fate/subtitles.mak b/tests/fate/subtitles.mak
index c8f94c2b5e..2b5bc19283 100644
--- a/tests/fate/subtitles.mak
+++ b/tests/fate/subtitles.mak
@@ -112,6 +112,12 @@ fate-sub-webvtt2: CMD = fmtstdout ass -i 
$(TARGET_SAMPLES)/sub/WebVTT_extended_t
 FATE_SUBTITLES-$(call ALLYES, SRT_DEMUXER SUBRIP_DECODER WEBVTT_ENCODER 
WEBVTT_MUXER) += fate-sub-webvttenc
 fate-sub-webvttenc: CMD = fmtstdout webvtt -i 
$(TARGET_SAMPLES)/sub/SubRip_capability_tester.srt
 
+FATE_SUB_KARAOKE-$(call ALLYES, FILE_PROTOCOL PIPE_PROTOCOL ASS_DEMUXER 
ASS_DECODER WEBVTT_ENCODER WEBVTT_MUXER) += fate-sub-karaoke-webvttenc
+fate-sub-karaoke-webvttenc: CMD = fmtstdout webvtt -i 
$(SRC_PATH)/tests/sub-karaoke.ass
+
+FATE_SUB_KARAOKE-$(call ALLYES, FILE_PROTOCOL PIPE_PROTOCOL ASS_DEMUXER 
ASS_DECODER WEBVTT_ENCODER WEBVTT_MUXER) += fate-sub-karaoke-webvttenc-ss
+fate-sub-karaoke-webvttenc-ss: CMD = fmtstdout webvtt -i 
$(SRC_PATH)/tests/sub-karaoke.ass -ss 12
+
 FATE_SUBTITLES-$(call ALLYES, SRT_DEMUXER SUBRIP_DECODER TEXT_ENCODER 
SRT_MUXER) += fate-sub-textenc
 fate-sub-textenc: CMD = fmtstdout srt -i 
$(TARGET_SAMPLES)/sub/SubRip_capability_tester.srt -c:s text
 
@@ -164,4 +170,5 @@ FATE_SUBTITLES := $(if $(CONFIG_PIPE_PROTOCOL), 
$(FATE_SUBTITLES))
 fate-sub-%: CMP = rawdiff
 
 FATE_SAMPLES_FFMPEG += $(FATE_SUBTITLES)
-fate-subtitles: $(FATE_SUBTITLES)
+fate-subtitles: $(FATE_SUBTITLES) $(FATE_SUB_KARAOKE-yes)
+FATE_FFMPEG-yes += $(FATE_SUB_KARAOKE-yes)
diff --git a/tests/ref/fate/sub-karaoke-webvttenc 
b/tests/ref/fate/sub-karaoke-webvttenc
new file mode 100644
index 0000000000..3bc0dc6083
--- /dev/null
+++ b/tests/ref/fate/sub-karaoke-webvttenc
@@ -0,0 +1,14 @@
+WEBVTT
+
+00:01.000 --> 00:04.000
+<00:01.500>Hello<00:02.000> world<00:03.000>
+
+00:05.000 --> 00:08.000
+One
+two<00:06.000> three<00:07.000>
+
+00:10.000 --> 00:15.000
+First<00:10.500> second<00:11.000> third<00:11.500> fourth<00:12.000>
+
+00:20.000 --> 00:25.000
+<b>Bold<00:20.500></b><i><00:21.000>Italic</i><00:21.500>
diff --git a/tests/ref/fate/sub-karaoke-webvttenc-ss 
b/tests/ref/fate/sub-karaoke-webvttenc-ss
new file mode 100644
index 0000000000..f7ac5367e0
--- /dev/null
+++ b/tests/ref/fate/sub-karaoke-webvttenc-ss
@@ -0,0 +1,4 @@
+WEBVTT
+
+00:08.000 --> 00:13.000
+<b>Bold<00:08.500></b><i><00:09.000>Italic</i><00:09.500>
diff --git a/tests/sub-karaoke.ass b/tests/sub-karaoke.ass
new file mode 100644
index 0000000000..84643b82f7
--- /dev/null
+++ b/tests/sub-karaoke.ass
@@ -0,0 +1,15 @@
+[Script Info]
+ScriptType: v4.00+
+PlayResX: 640
+PlayResY: 360
+
+[V4+ Styles]
+Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, 
OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, 
Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, 
MarginV, Encoding
+Style: 
Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,1
+
+[Events]
+Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
+Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\kf50}{\kf50}Hello{\kf100} 
world{\kf100}
+Dialogue: 0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\kf100}One\Ntwo{\kf100} 
three
+Dialogue: 0,0:00:10.00,0:00:15.00,Default,,0,0,0,,{\k50}First{\K50} 
second{\ko50} third{\kf50} fourth
+Dialogue: 
0,0:00:20.00,0:00:25.00,Default,,0,0,0,,{\b1}{\kf50}Bold{\kf50}{\b0}{\i1}{\kf50}Italic{\i0}

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to