The following patches have been applied to libid3tag. All patches are also located in the libid3tag/patches directory. From http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-libs/libid3tag/files/0.15.1b/ libid3tag-0.15.1b-64bit-long.patch libid3tag-0.15.1b-a_capella.patch - even though 'A Cappella' is also a valid spelling. :) libid3tag-0.15.1b-compat.patch NOT used, it is a duplicate of unknown-encoding.patch below. libid3tag-0.15.1b-file-write.patch - we don't write anything but it's here to be complete libid3tag-0.15.1b-fix_overflow.patch - fixes infinite loop on bad tag Note: This patch breaks UTF-16BE encoding. Had to be modified. libid3tag-0.15.1b-tag.patch - handles empty track tags libid3tag-0.15.1b-unknown-encoding.patch Note: must run: gperf -tCcTonD -K id -N id3_compat_lookup -s -3 -k '*' compat.gperf >compat.c libid3tag-0.15.1b-utf16.patch - handle bad utf16 length Patches only in this version: allow-id-space.patch - Allow parsing of tags with spaces in the frame ID (iTunes). read-no-seek.patch - Adds read mode ID3_FILE_MODE_READONLY_NOSEEK which does not seek, useful for parsing ID3 tags in non-MP3 files where they are not located at the start of the file. seek-after-fdopen.patch - PerlIO buffering can cause the file pointer to be wrong after an fdopen, this patch calls seek after fdopen. itunes-non-syncsafe.patch - If we read an invalid v2.4 frame length, assume it was written by iTunes and treat it as a non-syncsafe integer. translate-pic.patch - v2.2 PIC frame has a 3-byte field that isn't compatible with APIC, causing parsing to fail.