GNOME Bugzilla – Bug 325994
LAME encoder has pants support for metadata
Last modified: 2006-03-13 10:14:33 UTC
The LAME encoder plugin doesn't support much metadata: static GstLameTagMatch tag_matches[] = { {GST_TAG_TITLE, id3tag_set_title}, {GST_TAG_DATE, id3tag_set_year}, {GST_TAG_TRACK_NUMBER, id3tag_set_track}, {GST_TAG_COMMENT, id3tag_set_comment}, {GST_TAG_ARTIST, id3tag_set_artist}, {GST_TAG_ALBUM, id3tag_set_album}, {GST_TAG_GENRE, (GstLameTagFunc) id3tag_set_genre}, {NULL, NULL} }; GST_TAG_DURATION needs to be supported for VBR MP3 files, Sound Juicer also sets: _TRACK_COUNT _ENCODER _ENCODER_VERSION _MUSICBRAINZ_ALBUMID _MUSICBRAINZ_ALBUMARTISTID _MUSICBRAINZ_ARTISTID _MUSICBRAINZ_TRACKID
Patch? :)
Does lame itself support anything else (besides track count, which it apparently does support in some CVS version somewhere, at least according to bug #323693, and duration via xing headers)? I only have: % grep tag_set /usr/include/lame/lame.h extern void id3tag_set_title( extern void id3tag_set_artist( extern void id3tag_set_album( extern void id3tag_set_year( extern void id3tag_set_comment( extern void id3tag_set_track( extern int id3tag_set_genre(
I just filed bug #330317 with a patch to make the lame encoder write xing headers, but I'm not sure if this bug can be closed as a duplicate or not.
Xing headers don't really contain any of the tags requested (like musicbrainz ids) , do they? So how would it be a duplicate? :) IMHO this stuff should be added to id3mux rather than lame though, but that's just me.
Noone has yet been able to show me how LAME has any way of writing ID3v2 except to a _seekable_ file descriptor, so really all the ID3 writing stuff in LAME should just die and move to id3mux Writing a Xing header is another issue, but with the same problem - LAME doesn't seem to have any API to just give us some data and ask us to write it at a location in the file, so we'll have to write our own Xing header as in bug #330317
Tim, I quickly read the original bug report, and stopped reading at "GST_TAG_DURATION needs to be supported for VBR MP3 files" :) That's why I said it might be a duplicate :p
The consensus seems to be that this is not going to be fixed in lame, and that lame shouldn't be used for tag writing at all (as it's broken anyway). Tag writing should be done using id3mux and/or the new tagid3v2mux element, and that's where any additions should go as well. FWIW, I've just added support for writing the musicbrainz tags to the tagid3v2mux element, and it already supports TRACK_COUNT if I'm not mistaken, so that should cover most of your request. That leaves only the ENCODING tags and sound-juicer shouldn't be setting those anyway IMHO (the encoder is lame, not sound-juicer). WONTFIXing this bug. Please file anything else you find missing against the id3mux element in -ugly or the tagid3v2mux element in -bad. My intention is to move the taglib based tag muxer into -good at some point and make it (transparently) replace id3mux as well then, but that's just me.
I can confirm that tagid3v2mux suports TRACK_COUNT. GST_TAG_DURATION can be written using xingmux (in -bad HEAD).