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.