PR #23762 opened by nilfm99
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23762
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23762.patch

9d037c54f2 (avformat/demux: avoid unconditional ID3v2 tag consumption)
introduced FF_INFMT_FLAG_ID3V2_AUTO to opt formats into generic ID3v2
parsing, but mistakenly set it on ff_w64_demuxer instead of
ff_wav_demuxer (both live in wavdec.c, with w64 at the end of the file).
As a result, WAV files carrying a prepended ID3v2 tag were no longer
parsed generically, while w64 attempted to parse an ID3v2 tag it didn't
need. Move the flag to the wav demuxer, restoring the originally
intended behavior.

Reported-by: Daniel Verkamp <[email protected]>
Signed-off-by: Nil Fons Miret <[email protected]>


>From 4b057cf9e209a925a8aed4d36b701961447cba43 Mon Sep 17 00:00:00 2001
From: Nil Fons Miret <[email protected]>
Date: Fri, 10 Jul 2026 15:04:16 +0000
Subject: [PATCH] avformat/wavdec: move ID3v2 auto-parsing flag from w64 to wav

9d037c54f2 (avformat/demux: avoid unconditional ID3v2 tag consumption)
introduced FF_INFMT_FLAG_ID3V2_AUTO to opt formats into generic ID3v2
parsing, but mistakenly set it on ff_w64_demuxer instead of
ff_wav_demuxer (both live in wavdec.c, with w64 at the end of the file).
As a result, WAV files carrying a prepended ID3v2 tag were no longer
parsed generically, while w64 attempted to parse an ID3v2 tag it didn't
need. Move the flag to the wav demuxer, restoring the originally
intended behavior.

Reported-by: Daniel Verkamp <[email protected]>
Signed-off-by: Nil Fons Miret <[email protected]>
---
 libavformat/wavdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/wavdec.c b/libavformat/wavdec.c
index 8ff80abc01..3497835c98 100644
--- a/libavformat/wavdec.c
+++ b/libavformat/wavdec.c
@@ -847,6 +847,7 @@ const FFInputFormat ff_wav_demuxer = {
     .p.codec_tag    = ff_wav_codec_tags_list,
     .p.priv_class   = &wav_demuxer_class,
     .priv_data_size = sizeof(WAVDemuxContext),
+    .flags_internal = FF_INFMT_FLAG_ID3V2_AUTO,
     .read_probe     = wav_probe,
     .read_header    = wav_read_header,
     .read_packet    = wav_read_packet,
@@ -1016,7 +1017,6 @@ const FFInputFormat ff_w64_demuxer = {
     .p.codec_tag    = ff_wav_codec_tags_list,
     .p.priv_class   = &w64_demuxer_class,
     .priv_data_size = sizeof(WAVDemuxContext),
-    .flags_internal = FF_INFMT_FLAG_ID3V2_AUTO,
     .read_probe     = w64_probe,
     .read_header    = w64_read_header,
     .read_packet    = wav_read_packet,
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to