After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 348762 - [ID3v2] comment frame extraction/writing doesn't retain descriptions
[ID3v2] comment frame extraction/writing doesn't retain descriptions
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 0.10.5
Assigned To: Tim-Philipp Müller
GStreamer Maintainers
Depends on: 350935 351426
Blocks:
 
 
Reported: 2006-07-26 10:05 UTC by Tim-Philipp Müller
Modified: 2006-08-16 13:05 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tim-Philipp Müller 2006-07-26 10:05:49 UTC
The problem:

ID3v2 comment tags consist of 3 parts:
 - comment description string
 - language code
 - the comment string


The language code is not that important, but it would be nice if we could retain the description/comment association somehow, so the frames can be rewritten properly again when retagging. In particular iTunes seems to store information that way.

Maybe we can use some generic key=value tag for this (which we'll also need to retain unknown vorbis/ape tags, see bug #347091).
Comment 1 Alex Lancaster 2006-07-26 10:30:36 UTC
Just to document this, here is an example of retagging (original file was an ID3v2.3 file and can be found on attachment #69586 [details]):

gst-launch filesrc location=test4.mp3 ! id3demux ! id3v2mux ! filesink location=test4-retagged.mp3

the original tags look like this:

# gst-launch-0.10 -t filesrc location=test4.mp3 ! decodebin ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
FOUND TAG      : found by element "id3demux0".
          title: Ready Lets Go
         artist: Boards Of Canada
    ID3v2 frame: buffer of 49 bytes, type: application/x-gst-id3v2-tcm, version=(int)2
               : buffer of 21 bytes, type: application/x-gst-id3v2-ten, version=(int)2
          album: Geogaddi
    track count: 23
   track number: 1
     disc count: 1
    disc number: 1
           date: 2002-01-01
          genre: Electronica/Dance
        comment: Description: iTunNORM
Comment:  00000079 00000022 0000023C 000000BA 00003F5E 00009AB1 000024F5 00001A48 00003F5E 0000A70A
               : Description: iTunSMPB
Comment:  00000000 00000210 000008AC 000000000027B844 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
               : Description: iTunes_CDDB_IDs
Comment: 23+E250754DC17FE498A1CC9CA31B41E6A9+3700554
          image: buffer of 415153 bytes, type: image/PNG, image-type=(GstTagImageType)GST_TAG_IMAGE_TYPE_UNDEFINED
FOUND TAG      : found by element "mad0".
       duration: 59000000000
        bitrate: 244028
FOUND TAG      : found by element "mad0".
          layer: 3
           mode: stereo
       emphasis: none
    audio codec: MPEG-1 layer 3

but after retagging it looks like this:

# gst-launch-0.10 -t filesrc location=test4-retagged.mp3 ! decodebin ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
FOUND TAG      : found by element "id3demux0".
          title: Ready Lets Go
         artist: Boards Of Canada
    ID3v2 frame: buffer of 52 bytes, type: application/x-gst-id3v2-tcom-frame, version=(int)4
               : buffer of 24 bytes, type: application/x-gst-id3v2-tenc-frame, version=(int)4
          album: Geogaddi
    track count: 23
   track number: 1
     disc count: 1
    disc number: 1
           date: 2002-01-01
          genre: Electronica/Dance
        comment: Description: c0
Comment: Description: iTunNORM
Comment:  00000079 00000022 0000023C 000000BA 00003F5E 00009AB1 000024F5 00001A48 00003F5E 0000A70A
               : Description: c1
Comment: Description: iTunSMPB
Comment:  00000000 00000210 000008AC 000000000027B844 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
               : Description: c2
Comment: Description: iTunes_CDDB_IDs
Comment: 23+E250754DC17FE498A1CC9CA31B41E6A9+3700554
          image: buffer of 415153 bytes, type: image/PNG, image-type=(GstTagImageType)GST_TAG_IMAGE_TYPE_UNDEFINED
FOUND TAG      : found by element "mad0".
       duration: 59000000000
        bitrate: 244028
FOUND TAG      : found by element "mad0".
          layer: 3
           mode: stereo
       emphasis: none
    audio codec: MPEG-1 layer 3
Comment 2 Tim-Philipp Müller 2006-08-16 13:05:15 UTC
Should be fixed in CVS:

 2006-08-16  Tim-Philipp Müller  <tim at centricular dot net>

        * configure.ac:
          Require CVS of GStreamer core and -base (for
          GST_TAG_EXTENDED_COMMENT and gst_tag_parse_extended_comment()).

        * ext/taglib/gstid3v2mux.cc:
          Write extended comment tags properly (#348762).

        * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame),
        (parse_comment_frame):
          Extract COMM frames into extended comments, which makes it
          easier to properly retain the description bit of the tag
          and maintain this information when re-tagging (#348762).