This patch enhances LAME frontend to write APIC frames, which embed
albumart images in ID3v2.3 tag, introducing a new option --ti:
--ti <filename>
The patch accepts JPEG/PNG/GIF images no larger than 128KB and stores
the image in APIC ID3v2.3 frame. The MIME type of an image is detected
automatically by the actual data of the image. This patch specifies
'other' picture type in APIC frame, just as iTunes does.
More and more users enjoy albumart images displayed in the playback
screen of software/hardware players nowadays. I hope this patch will
bring such benefits to LAME users in a minimum effort (i.e., without
calling an external tagging program). I confirmed that AudioShell
(tagging software), iTunes, and iriver E10 (hardware player) could
display albumart images embedded by this patch.
As for the implementation matter, I increased LAME_MAXMP3BUFFER in
lame.h in order to write a big APIC frame with the current LAME
interface (i.e. lame_encode_buffer_int function). I'm aware that this
is not a good approach, but we must revise the current LAME interface
to write a large data directly to the output stream (without bitstream.c).
In addition, I added parse_close() function in parse.c in order to
free a buffer (module variable in parse.c) storing an albumart image.
We need to call parse_close() function before terminating the program.
Together with this patch, I also attach the one combined with the
user-defined ID3v2.3 frame patch submitted at:
http://sourceforge.net/tracker/index.php?func=detail&aid=1617408&group_id=290&atid=300290
Patch to the CVS head as of 20061216
Combined patch to the CVS head as of 20061216
Logged In: YES
user_id=992421
Originator: YES
The combined patch (Albumart + User-defined frame)
File Added: lame-user-albumart.patch
Logged In: YES
user_id=1106
Originator: NO
Thanks, I'll take a look at it later.
Logged In: YES
user_id=1056
Originator: NO
Now included into main branch