Crash: Updating tags in non-MM FLAC files corrupts the files
Posted: Tue Jun 20, 2006 2:22 pm
Hi --
I'm currently running MediaMonkey v. 2.5.3.968 with the beta in_flac.dll plugin (though I've also confirmed that this problem occurs with the original version of in_flac.dll).
Updating the tags in a FLAC file that wasn't originally created with MediaMonkey corrupts the FLAC file.
I have example files here:
Before (743K)
After (747K)
Attempting to play the "After" file (on any player) will crash the player. With larger files, the music will sometimes still be playable, but play will start at a random point in the music.
Steps to reproduce:
1) Drag a FLAC file created with another player into the MediaMonkey playlist. (Most of my flac files were created with GoldWave.) "Before.flac", listed above, is a good example.
2) Perform any operation that changes the tags in the FLAC file -- for example, editing a date, or computing replaygain. "After.flac", listed above, had its volume analyzed.
3) If Step 2 doesn't crash the player immediately, attempt to play the updated FLAC file. The player will either crash or start playing at a strange location within the song.
Based on analyzing the "Before.flac" and "After.flac" files with a hex editor, it looks like MediaMonkey is adding 4K of zero padding to the file (presumably to speed up future tag updates). The original GoldWave file had no padding. The actual music data in the corrupted file (everything after the padding) appears to be intact and identical to the original. My guess is that an offset or size value somewhere in the FLAC file isn't being updated, but I'm not familiar enough with the FLAC format to be sure.
Any questions, let me know...
--- Scott
I'm currently running MediaMonkey v. 2.5.3.968 with the beta in_flac.dll plugin (though I've also confirmed that this problem occurs with the original version of in_flac.dll).
Updating the tags in a FLAC file that wasn't originally created with MediaMonkey corrupts the FLAC file.
I have example files here:
Before (743K)
After (747K)
Attempting to play the "After" file (on any player) will crash the player. With larger files, the music will sometimes still be playable, but play will start at a random point in the music.
Steps to reproduce:
1) Drag a FLAC file created with another player into the MediaMonkey playlist. (Most of my flac files were created with GoldWave.) "Before.flac", listed above, is a good example.
2) Perform any operation that changes the tags in the FLAC file -- for example, editing a date, or computing replaygain. "After.flac", listed above, had its volume analyzed.
3) If Step 2 doesn't crash the player immediately, attempt to play the updated FLAC file. The player will either crash or start playing at a strange location within the song.
Based on analyzing the "Before.flac" and "After.flac" files with a hex editor, it looks like MediaMonkey is adding 4K of zero padding to the file (presumably to speed up future tag updates). The original GoldWave file had no padding. The actual music data in the corrupted file (everything after the padding) appears to be intact and identical to the original. My guess is that an offset or size value somewhere in the FLAC file isn't being updated, but I'm not familiar enough with the FLAC format to be sure.
Any questions, let me know...
--- Scott