[FFmpeg-trac] #11696(avformat:new): WAV ≥ 4 GiB abnormal decoding due to length field overflow
FFmpeg
trac at avcodec.org
Mon Aug 4 16:51:02 EEST 2025
#11696: WAV ≥ 4 GiB abnormal decoding due to length field overflow
----------------------------------+------------------------------------
Reporter: wavybaby | Owner: (none)
Type: defect | Status: new
Priority: minor | Component: avformat
Version: 7.1 | Resolution:
Keywords: wavdec | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 1 |
----------------------------------+------------------------------------
Comment (by wavybaby):
Replying to [comment:2 Marton Balint]:
> You might want to try using the -ignore_length 1 option. In wav fiels
the data chunk contains the wave data and it has a 32 bit length, so if
your phone writes some random data there instead of UINT32_MAX, then that
can limit the read audio.
>
> Alternatively you might want to upload here the first 64kb of some of
your samples which are > 4GiB so we can check if there is a pattern which
can be used to autodetect this...
Good morning all, indeed `-ignore_length 1` resolves the issue:
{{{
$ ffmpeg -ignore_length 1 -i "2025-07-22 21.39.41.wav"
2025-07-22_21.39.41.flac
ffmpeg version n7.1.1 Copyright (c) 2000-2025 the FFmpeg developers
built with gcc 15.1.1 (GCC) 20250425
configuration: --prefix=/usr --disable-debug --disable-static --disable-
stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-lto
--enable-fontconfig --enable-frei0r --enable-gmp --enable-gnutls --enable-
gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray
--enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libdvdnav
--enable-libdvdread --enable-libfreetype --enable-libfribidi --enable-
libglslang --enable-libgsm --enable-libharfbuzz --enable-libiec61883
--enable-libjack --enable-libjxl --enable-libmodplug --enable-libmp3lame
--enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg
--enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse
--enable-librav1e --enable-librsvg --enable-librubberband --enable-
libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-
libssh --enable-libsvtav1 --enable-libtheora --enable-libv4l2 --enable-
libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpl --enable-
libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb
--enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq
--enable-nvdec --enable-nvenc --enable-opencl --enable-opengl --enable-
shared --enable-vapoursynth --enable-version3 --enable-vulkan
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.101 / 61. 19.101
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
[aist#0:0/pcm_f32le @ 0x62ca6c2e0040] Guessed Channel Layout: stereo
Input #0, wav, from '2025-07-22 21.39.41.wav':
Duration: 00:37:51.04, bitrate: 21273 kb/s
Stream #0:0: Audio: pcm_f32le ([3][0][0][0] / 0x0003), 96000 Hz, stereo,
flt, 6144 kb/s
File '2025-07-22_21.39.41.flac' already exists. Overwrite? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (pcm_f32le (native) -> flac (native))
Press [q] to stop, [?] for help
[flac @ 0x62ca6c2d9900] encoding as 24 bits-per-sample, more is considered
experimental. Add -strict experimental if you want to encode more than 24
bits-per-sample
Output #0, flac, to '2025-07-22_21.39.41.flac':
Metadata:
encoder : Lavf61.7.100
Stream #0:0: Audio: flac, 96000 Hz, stereo, s32 (24 bit), 128 kb/s
Metadata:
encoder : Lavc61.19.101 flac
[wav @ 0x62ca6c2d8c00] Packet corrupt (stream = 0, dts = NOPTS).30x
[in#0/wav @ 0x62ca6c2d8940] corrupt input packet in stream 0
[out#0/flac @ 0x62ca6c2e0200] video:0KiB audio:1292022KiB subtitle:0KiB
other streams:0KiB global headers:0KiB muxing overhead: 0.000626%
size= 1292030KiB time=02:11:03.45 bitrate=1346.0kbits/s speed= 297x
}}}
While my issue is resolved now, I imagine this might pose an issue in the
future for others; thus, please feel free to close this ticket once or if
any flags or changes are made :)
Please let me know if a further sample or similar such thing is required,
I can make another very very long recording on my phone :)
Thank you again for the assistance to all!
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11696#comment:5>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list