GNOME Bugzilla – Bug 347848
[id3v2mux] add support for DiscID tags
Last modified: 2007-11-14 21:05:40 UTC
It would be very handy if sound-juicer could write the MusicBrainz DiscID of a CD in a MUSICBRAINZ_DISCID tag in each ogg file that it produces. I know that MUSICBRAINZ_DISCID is not standard, so perhaps use another name or simply let the user choose one. One reason why this would be useful is the following: if you are not permanently connected to the internet, you want to be able to rip a CD and look it up in MusicBrainz later. (For instance if you have a dial-up connection and want to rip a large number N of CDs, you don't want to dial N times.) If you don't keep the DiscID's you are mostly stuck.
This should already be done automatically by GStreamer. The cd audio source elements will calculate the various DiscIDs and send them as tags downstream, so any tag writers should pick them up automatically and write them automatically if they support those tags. The reason this doesn't happen at the moment is that the usual GStreamer tag writers don't support those DiscID tags yet. This is fixed in gst-plugins-base CVS now for vorbis/speex/flac: 2006-09-23 Tim-Philipp Müller <tim at centricular dot net> * docs/libs/gst-plugins-base-libs-sections.txt: * gst-libs/gst/cdda/Makefile.am: * gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_base_init): * gst-libs/gst/cdda/gstcddabasesrc.h: * gst-libs/gst/tag/tag.h: * gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal), (gst_tag_register_musicbrainz_tags): Move GST_TAG_CDDA_* tags into libgsttag and make libgstcddabasesrc depend on libgsttag. This is required so we can extract/read tags like DISCID without depending on libgstcddabasesrc (which used to register them). * gst-libs/gst/tag/gstvorbistag.c: Add vorbiscomment mapping for CDDB_DISCID and MUSICBRAINZ_DISCID tags (also see #347848). * ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1): Log vorbis comments we are actually writing. Const-ify array. Still needs fixing for our ID3v2 tag writer (id3v2mux/taglib), hence moving bug over to GStreamer. Don't know what the most common way is to put these disc ID tags into ID3v2 tags though.
Fixed in -good CVS: 2007-11-14 Tim-Philipp Müller <tim at centricular dot net> * ext/taglib/gstid3v2mux.cc: (add_musicbrainz_tag), (add_funcs): Write GST_TAG_MUSICBRAINZ_DISCID and GST_TAG_CDDA_CDDB_DISCID into ID3v2 TXXX frames (fixes #347848). Making id3demux read those two in again will require a commit to -base, which is currently frozen, so that's only going to work in the next release cycle.