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]

Reply via email to