This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit 9dcb14d9825415c35d675b4e22d36db5d9729756 Author: Romain Beauxis <[email protected]> AuthorDate: Sat May 23 10:28:09 2026 -0500 Commit: Romain Beauxis <[email protected]> CommitDate: Sat Jul 18 09:59:57 2026 -0500 tests/fate/id3v2.mak: add test for XXX lang in COMM and USLT frames, fix comment for -sort test. --- tests/fate/id3v2.mak | 32 ++++++++++++++++++++++-- tests/ref/fate/id3v2-comm-foo-lang-as-descriptor | 2 ++ tests/ref/fate/id3v2-comm-sort- | 2 ++ tests/ref/fate/id3v2-comm-sort-eng | 2 ++ tests/ref/fate/id3v2-lang-und | 4 +++ tests/ref/fate/id3v2-lang-xxx | 4 +++ tests/ref/fate/id3v2-lang-xxx-remux | 4 +++ 7 files changed, 48 insertions(+), 2 deletions(-) diff --git a/tests/fate/id3v2.mak b/tests/fate/id3v2.mak index 8835211f01..4bde6225b1 100644 --- a/tests/fate/id3v2.mak +++ b/tests/fate/id3v2.mak @@ -24,6 +24,18 @@ FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-comm fate-id3v2-comm: $(ID3V2_TESTBIN) fate-id3v2-comm: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/id3v2_priv.mp3 -map_metadata -1 -c copy -fflags +bitexact -metadata comment=test -metadata comment-eng=test2 -f mp3 -y" "$(ID3V2_TESTBIN)" mp3 +FATE_ID3V2_RAW-$(call ALLYES, MP3_DEMUXER, FILE_PROTOCOL) += fate-id3v2-lang-xxx +fate-id3v2-lang-xxx: $(ID3V2_TESTBIN) +fate-id3v2-lang-xxx: CMD = run "$(ID3V2_TESTBIN)" "$(TARGET_SAMPLES)/id3v2/lang_xxx.mp3" + +FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-lang-xxx-remux +fate-id3v2-lang-xxx-remux: $(ID3V2_TESTBIN) +fate-id3v2-lang-xxx-remux: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/lang_xxx.mp3 -c copy -fflags +bitexact -f mp3 -y" "$(ID3V2_TESTBIN)" mp3 + +FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-lang-und +fate-id3v2-lang-und: $(ID3V2_TESTBIN) +fate-id3v2-lang-und: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/id3v2_priv.mp3 -map_metadata -1 -c copy -fflags +bitexact -id3v2_version 3 -metadata lyrics-und=test -metadata comment-und=test2 -f mp3 -y" "$(ID3V2_TESTBIN)" mp3 + FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-lyrics fate-id3v2-lyrics: $(ID3V2_TESTBIN) fate-id3v2-lyrics: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/id3v2_priv.mp3 -map_metadata -1 -c copy -fflags +bitexact -id3v2_version 3 -metadata lyrics=test -metadata lyrics-fra=test2 -f mp3 -y" "$(ID3V2_TESTBIN)" mp3 @@ -85,11 +97,17 @@ fate-id3v2-comm-descriptor-no-lang: $(ID3V2_TESTBIN) fate-id3v2-comm-descriptor-no-lang: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/id3v2_priv.mp3 -map_metadata -1 -c copy -fflags +bitexact -metadata comment-MusicMatch_Bio-=test -f mp3 -y" "$(ID3V2_TESTBIN)" mp3 # Descriptor that looks like a lang code (eng) with empty lang: must round-trip -# as comment-eng- (trailing dash), not comment-eng (which means lang-only). +# as comment-eng-und, not comment-eng (which means lang-only). FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-comm-lang-as-descriptor fate-id3v2-comm-lang-as-descriptor: $(ID3V2_TESTBIN) fate-id3v2-comm-lang-as-descriptor: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/id3v2_priv.mp3 -map_metadata -1 -c copy -fflags +bitexact -metadata comment-eng-=test -f mp3 -y" "$(ID3V2_TESTBIN)" mp3 +# Descriptor that looks like a foo-lang code (eng) with empty lang: must round-trip +# as comment-foo-eng-und, not comment-Foo-eng (which means eng lang).. +FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-comm-foo-lang-as-descriptor +fate-id3v2-comm-foo-lang-as-descriptor: $(ID3V2_TESTBIN) +fate-id3v2-comm-foo-lang-as-descriptor: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/id3v2_priv.mp3 -map_metadata -1 -c copy -fflags +bitexact -metadata comment-foo-eng-=test -f mp3 -y" "$(ID3V2_TESTBIN)" mp3 + # Raw 4CC key "COMM" (length 4): treated as bare COMM frame, no descriptor, no lang. FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-comm-raw-key fate-id3v2-comm-raw-key: $(ID3V2_TESTBIN) @@ -115,11 +133,21 @@ FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-comm-multi-invalid-lang fate-id3v2-comm-multi-invalid-lang: $(ID3V2_TESTBIN) fate-id3v2-comm-multi-invalid-lang: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/id3v2_priv.mp3 -map_metadata -1 -c copy -fflags +bitexact -metadata comment-desc-xyz=test -f mp3 -y" "$(ID3V2_TESTBIN)" mp3 -# comment-sort must not be treated as COMM (lang "sor"): it must pass through as TXXX. +# comment-sort must be treated as COMM with descriptor "sort" FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-comm-sort fate-id3v2-comm-sort: $(ID3V2_TESTBIN) fate-id3v2-comm-sort: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/id3v2_priv.mp3 -map_metadata -1 -c copy -fflags +bitexact -metadata comment-sort=test -f mp3 -y" "$(ID3V2_TESTBIN)" mp3 +# comment-sort- must be treated as COMM with descriptor "sort" +FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-comm-sort- +fate-id3v2-comm-sort-: $(ID3V2_TESTBIN) +fate-id3v2-comm-sort-: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/id3v2_priv.mp3 -map_metadata -1 -c copy -fflags +bitexact -metadata comment-sort-=test -f mp3 -y" "$(ID3V2_TESTBIN)" mp3 + +# comment-sort-<lang> must be treated as COMM with descriptor "sort" and language <lang> +FATE_ID3V2_RAW-$(call REMUX, MP3) += fate-id3v2-comm-sort-eng +fate-id3v2-comm-sort-eng: $(ID3V2_TESTBIN) +fate-id3v2-comm-sort-eng: CMD = run_with_temp "$(FFMPEG) -nostdin -hide_banner -loglevel error -i $(TARGET_SAMPLES)/id3v2/id3v2_priv.mp3 -map_metadata -1 -c copy -fflags +bitexact -metadata comment-sort-eng=test -f mp3 -y" "$(ID3V2_TESTBIN)" mp3 + FATE_SAMPLES_FFPROBE += $(FATE_ID3V2_FFPROBE-yes) FATE_SAMPLES_FFMPEG += $(FATE_ID3V2_FFMPEG-yes) $(FATE_ID3V2_RAW-yes) FATE_SAMPLES_FFMPEG_FFPROBE += $(FATE_ID3V2_FFMPEG_FFPROBE-yes) diff --git a/tests/ref/fate/id3v2-comm-foo-lang-as-descriptor b/tests/ref/fate/id3v2-comm-foo-lang-as-descriptor new file mode 100644 index 0000000000..5a698ece47 --- /dev/null +++ b/tests/ref/fate/id3v2-comm-foo-lang-as-descriptor @@ -0,0 +1,2 @@ +ID3v2 frame TXXX (23 bytes):|.comment-foo-eng-.test.| +comment-foo-eng-=test diff --git a/tests/ref/fate/id3v2-comm-sort- b/tests/ref/fate/id3v2-comm-sort- new file mode 100644 index 0000000000..436c5e4769 --- /dev/null +++ b/tests/ref/fate/id3v2-comm-sort- @@ -0,0 +1,2 @@ +ID3v2 frame TXXX (20 bytes):|.comment-sort-.test.| +comment-sort-=test diff --git a/tests/ref/fate/id3v2-comm-sort-eng b/tests/ref/fate/id3v2-comm-sort-eng new file mode 100644 index 0000000000..f6873ed108 --- /dev/null +++ b/tests/ref/fate/id3v2-comm-sort-eng @@ -0,0 +1,2 @@ +ID3v2 frame TXXX (23 bytes):|.comment-sort-eng.test.| +comment-sort-eng=test diff --git a/tests/ref/fate/id3v2-lang-und b/tests/ref/fate/id3v2-lang-und new file mode 100644 index 0000000000..0356889608 --- /dev/null +++ b/tests/ref/fate/id3v2-lang-und @@ -0,0 +1,4 @@ +ID3v2 frame TXXX (17 bytes):|.lyrics-und.test.| +ID3v2 frame TXXX (19 bytes):|.comment-und.test2.| +lyrics-und=test +comment-und=test2 diff --git a/tests/ref/fate/id3v2-lang-xxx b/tests/ref/fate/id3v2-lang-xxx new file mode 100644 index 0000000000..56538dd63c --- /dev/null +++ b/tests/ref/fate/id3v2-lang-xxx @@ -0,0 +1,4 @@ +ID3v2 frame COMM (18 bytes):|.XXX.Dummy comment| +ID3v2 frame USLT (17 bytes):|.XXX.Dummy lyrics| +comment=Dummy comment +lyrics-XXX=Dummy lyrics diff --git a/tests/ref/fate/id3v2-lang-xxx-remux b/tests/ref/fate/id3v2-lang-xxx-remux new file mode 100644 index 0000000000..033e6f1fed --- /dev/null +++ b/tests/ref/fate/id3v2-lang-xxx-remux @@ -0,0 +1,4 @@ +ID3v2 frame TXXX (23 bytes):|.comment.Dummy comment.| +ID3v2 frame TXXX (25 bytes):|.lyrics-XXX.Dummy lyrics.| +comment=Dummy comment +lyrics-XXX=Dummy lyrics _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
