Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: FLAC 1.13 transcode bug? (Read 6251 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

FLAC 1.13 transcode bug?

I'm not totally shore this is a bug.
But I think it is unwanted behavior when transcoding corrupted FLAC files.
After an error message the so far created temp file will be renamed to the original FLAC file.
In this case all the date after a corruption is lost.

To reproduce this, modify one or more byte(s) somewhere in the middle of a FLAC file with a hex editor.
Here are the screenshots with and without the –verify option:

Quote
flac.exe -5 --force test.flac

flac 1.1.3, Copyright © 2000,2001,2002,2003,2004,2005,2006  Josh Coalson
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.

test.flac: 59% complete, ratio=0.991test.flac: ERROR got FLAC__STREAM_DECODER_ER
ROR_STATUS_FRAME_CRC_MISMATCH while decoding FLAC input
test.flac: 59% complete, ratio=0.991


Quote
flac.exe -5 --force --verify test.flac

flac 1.1.3, Copyright © 2000,2001,2002,2003,2004,2005,2006  Josh Coalson
flac comes with ABSOLUTELY NO WARRANTY.  This is free software, and you are
welcome to redistribute it under certain conditions.  Type `flac' for details.

test.flac: 59% complete, ratio=0.991test.flac: ERROR got FLAC__STREAM_DECODER_ER
ROR_STATUS_FRAME_CRC_MISMATCH while decoding FLAC input
test.flac: 59% complete, ratio=0.991

In both cases all the data after the corruption is lost.

Here is a workaround that I use to transcode:
Quote
for %%i in (*.flac) do (D:\Console\flac.exe --test "%%i" & if errorlevel 1 pause)
D:\Console\glob.exe -c D:\Console\flac.exe -5 --force *.flac