#10591 closed defect (fixed)
-err_detect crccheck and explode+crccheck are broken for flac files
| Reported by: | Balling | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | flac crc regression |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
Summary of the bug: use https://files.catbox.moe/kvvrac.flac it was printing "CRC error at PTS 29583360" but it no longer warns about it. Regression of #2266 probably because of #9621. It is problematic that line https://github.com/FFmpeg/FFmpeg/blob/56085e057ff2d2da180a5d56bdd1efd70d53e662/libavcodec/flacdec.c#L772 is dead code now.
How to reproduce:
% ffmpeg -err_detect crccheck -i https://files.catbox.moe/kvvrac.flac -f null -
Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.
Change History (8)
comment:1 by , 3 years ago
| Component: | avcodec → undetermined |
|---|---|
| Keywords: | flac crc regression removed |
| Resolution: | → invalid |
| Status: | new → closed |
| Version: | git-master → unspecified |
comment:2 by , 3 years ago
| Component: | undetermined → avcodec |
|---|---|
| Resolution: | invalid |
| Status: | closed → reopened |
| Version: | unspecified → git-master |
Before:
ffmpeg version git-2020-08-31-4a11a6f Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 10.2.1 (GCC) 20200805
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --enable-librav1e --enable-libsvtav1 --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
libavutil 56. 58.100 / 56. 58.100
libavcodec 58.101.101 / 58.101.101
libavformat 58. 51.101 / 58. 51.101
libavdevice 58. 11.101 / 58. 11.101
libavfilter 7. 87.100 / 7. 87.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100
Input #0, flac, from 'kvvrac.flac':
Metadata:
ARTIST : Van Morrison
Title : See Me Through > Soldier Of Fortune > Thank You Falletin Me Be Mice Elf Agin > Burning Ground
ALBUM : Playhouse Theatre, Edinburgh, Scotland (1999-04-02)
Date : 1999-04-02
track : 07
comment : Encoded by FLAC v1.1.2a with FLAC Frontend v1.7.1; CD 2
Duration: 00:17:55.21, start: 0.000000, bitrate: 589 kb/s
Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
Stream mapping:
Stream #0:0 -> #0:0 (flac (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
Metadata:
ARTIST : Van Morrison
Title : See Me Through > Soldier Of Fortune > Thank You Falletin Me Be Mice Elf Agin > Burning Ground
ALBUM : Playhouse Theatre, Edinburgh, Scotland (1999-04-02)
Date : 1999-04-02
track : 07
comment : Encoded by FLAC v1.1.2a with FLAC Frontend v1.7.1; CD 2
encoder : Lavf58.51.101
Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
Metadata:
encoder : Lavc58.101.101 pcm_s16le
[flac @ 000001de24b1a380] CRC error at PTS 29583360
size=N/A time=00:17:55.21 bitrate=N/A speed=2.17e+03x
video:0kB audio:185222kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
After:
ffmpeg version N-111995-g5f8c113b75-20230909 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13.1.0 (crosstool-NG 1.25.0.196_227d99d)
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --enable-shared --disable-static --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20230909
libavutil 58. 19.100 / 58. 19.100
libavcodec 60. 26.100 / 60. 26.100
libavformat 60. 11.100 / 60. 11.100
libavdevice 60. 2.101 / 60. 2.101
libavfilter 9. 11.100 / 9. 11.100
libswscale 7. 3.100 / 7. 3.100
libswresample 4. 11.100 / 4. 11.100
libpostproc 57. 2.100 / 57. 2.100
Input #0, flac, from 'kvvrac.flac':
Metadata:
ARTIST : Van Morrison
Title : See Me Through > Soldier Of Fortune > Thank You Falletin Me Be Mice Elf Agin > Burning Ground
ALBUM : Playhouse Theatre, Edinburgh, Scotland (1999-04-02)
Date : 1999-04-02
track : 07
comment : Encoded by FLAC v1.1.2a with FLAC Frontend v1.7.1; CD 2
Duration: 00:17:55.21, start: 0.000000, bitrate: 589 kb/s
Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
Stream mapping:
Stream #0:0 -> #0:0 (flac (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, null, to 'pipe:':
Metadata:
ARTIST : Van Morrison
Title : See Me Through > Soldier Of Fortune > Thank You Falletin Me Be Mice Elf Agin > Burning Ground
ALBUM : Playhouse Theatre, Edinburgh, Scotland (1999-04-02)
Date : 1999-04-02
track : 07
comment : Encoded by FLAC v1.1.2a with FLAC Frontend v1.7.1; CD 2
encoder : Lavf60.11.100
Stream #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
Metadata:
encoder : Lavc60.26.100 pcm_s16le
[out#0/null @ 00000253f9edeb40] video:0kB audio:185168kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
size=N/A time=00:17:55.20 bitrate=N/A speed=1.2e+03x
comment:3 by , 3 years ago
I am really tired of this, here is a file where I changed one byte randomly, same happens on it: https://0x0.st/HVQc.flac
comment:4 by , 3 years ago
| Keywords: | flac crc regression added |
|---|---|
| Summary: | -err_detect crccheck is again broken for flac files → -err_detect crccheck and explode+crccheck are broken for flac files |
comment:5 by , 3 years ago
| Resolution: | → wontfix |
|---|---|
| Status: | reopened → closed |
comment:6 by , 3 years ago
Why? Chrome uses explode, this means bad flac files will pass through. I did not notice that other issue, but that is worse.
Of course it is more or less cosmetic, but still. Do you like dead log code?
comment:7 by , 3 years ago
How do you trigger line 722 and line 774? Can you at least remove dead code and add a warning for underread.
comment:8 by , 7 months ago
| Resolution: | wontfix → fixed |
|---|
This is fixed now
[flac @ 000001e2f63c1f40] CRC error at PTS -9223372036854775808
Though ffmpeg -i HVQc.flac -f md5 -
now has different md5 other runs, it is not reproducible anymore (it is caused video stream, -vn fixes it). But whatever.



Not proof of anything. Just some statements that have no hard evidence.
If you knew how to check you would know that code at line 772 is still always executed.