Flag file corruption/errors in search attributes
Submitted by ven42 on Wed, 07/13/2011 - 21:11
Obviously, there are many ways in which an audio file can become corrupted, and you probably can't check for all of these possibilities. The main one that I had in mind, however, is the one that I encounter the most on SoulSeek: MP3 files with *SYNC ERRORS*. In most cases, these are not errors that are introduced during the transfer that can be corrected by re-downloading the file; rather these errors have already crept unnoticed into the file being shared and are permanent errors in that file. The main problem is that there is no way to know if a file has sync errors until it's already been downloaded and can be locally scanned. Finding a perfect replacement for a bad file, or just avoiding bad files in the first place, is mostly just luck right now. A user's MP3s could be scanned by the client locally for common errors/corruption (like sync errors) during the scan that runs when you add a folder for sharing, and any problems could be clearly flagged in the attributes field in search results along with the usual bitrate, etc. Flagging bad files would not only save other users' time and bandwidth, but it would help improve the quality of files throughout the SLSK network by discouraging the propagation of corrupt data. For a good example of a program that checks MP3s for common errors (sync errors, bad last frames, etc.), see EncSpot Pro. Unfortunately, while EncSpot Pro was eventually released as freeware, it was because the developer abandoned the project, so I don't think the source code is at all available. A better example might be AudioTester, from http://www.vuplayer.com/other.php. This is open source, and it scans more than just MP3 files: "A tool to test for errors in MP3, Ogg Vorbis, FLAC, WavPack & Monkey's Audio files. Source code is included." Thanks for considering this feature request.