ID3v2 tags are typically found at the start of an MP3 file. If a tag is added to a file that does not have one, the tag is written to a temporary file and the original file contents are copied to the temporary file. Then the original file is deleted and the temporary file is given the name of the original file.
A similar process occurs when an ID3v2 tag is removed from the file.
The original implementation in id3lib uses C++ file i/o to perform this task. This patch replaces the C++ file i/o with C file i/o speeding up the process
by 2x.
In addition to the speed-up, the patch adds a few features for win32 users:
1. The temporary file name that is used is a bit more dynamic than the previous style of "file.mp3.XXXXXX".
2. File security descriptors are properly retained.
Performance Patch: 2x Faster Writing