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]
