The following patches have been applied to libid3tag. All patches are
also located in the libid3tag/patches directory.
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.
v2.3-xsop.patch - support experimental ID3v2.3 XSOP tag.
utf16-le-default.patch - Bug 14728, default UTF-16 byte order to LE when no BOM is present.
debug-trace.patch - Enable trace debug output
parse-partial.patch - Bug 14705, if we find a bad frame, return frames we've parsed so far instead of
ignoring the whole tag.
public-file-api.patch - Allow use of filetag and id3_file types.
no-artwork.patch - Don't allocate memory for binary artwork data when AUDIO_SCAN_NO_ARTWORK is set.