GNOME Bugzilla – Bug 508655
Some id3 information is mishandled/ignored by rhythmbox.
Last modified: 2008-01-12 10:02:02 UTC
Rhythmbox (RB) fails to display some mp3 id3 tag information for all but two fields, year and track number. All other fields report Unknown in RB. This is peculiar because Banshee and Exfalso all seem to be able to read the particular tags correctly. Even more peculiar is the fact that even after editing the tag IN Rhythmbox, (which works perfectly as tag changes made in RB are reported in Exfalso) after RB is closed and reopened it reverts back to Unknown in the artist/album/trackname field. In a music library of approximately 3400 tracks, about 7 tracks seem to be affected by this issue. All but one of these tracks comes from the same album. All tracks originally had their tags written by Windows Media Player 10. I'm using the current version of RB in Ubuntu Hardy (0.11.4). However the problem discussed has been around (i.e. noticed by myself) at least since the Gutsy dev time-frame for me. If necessary i could upload one of the offending tracks to help track down the issue.
Created attachment 102559 [details] Exfalso OK
Created attachment 102560 [details] RB Not OK
Note that in the latter screenshot (comment #2), most, but not all id3 fields were in fact edited from within the Rhythmbox 'Properties' dialogue.
Try running: gst-launch-0.10 -t urisrc location=/path/to/my/musicfile.ogg ! decodebin ! fakesink as explained in the README, on the files that have problems, and state which versions of GStreamer and the GStreamer plugins you're using.
(In reply to comment #4) > Try running: > gst-launch-0.10 -t urisrc location=/path/to/my/musicfile.ogg ! decodebin ! > fakesink > > as explained in the README, on the files that have problems, and state which > versions of GStreamer and the GStreamer plugins you're using. > Ok so my version is: GStreamer Core Library version 0.10.15 (Note that i am using Ubuntu Hardy, so i am not sure how much the gst-version is likely to change.) Plugins: Sorry, i couldn't find a way to do this... advice appreciated. Heres the output from gst-launch -t: matthew@matthew-desktop:~$ gst-launch-0.10 -t filesrc location=/media/hdb5/My\ Music/The\ Fall/Grotesque\ \(After\ the\ Gramme\)/06\ -\ English\ Scheme.mp3 ! decodebin ! fakesink Setting pipeline to PAUSED ... Pipeline is PREROLLING ... FOUND TAG : found by element "id3demux0". title: English Scheme artist: The Fall album: Grotesque (After the Gramme) date: 1980-01-01 genre: Alternative ID3v2 frame: buffer of 33 bytes, type: application/x-gst-id3v2-ufid-frame, version=(int)4 : buffer of 33 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 32 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 32 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 31 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 39 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 37 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 11 bytes, type: application/x-gst-id3v2-tsop-frame, version=(int)4 : buffer of 51 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 44 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 30 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 49 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 49 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 41 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 148 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 comment: 000002D8 000005D9 00000A56 00001402 00009C6E 00009C6E 0000461B 00005A28 00009C57 00009C57 track number: 6 composer: Craig Scanlon/Marc Riley/Mark E. Smith FOUND TAG : found by element "id3demux1". title: English Scheme artist: The Fall album: Grotesque (After the Gramme) date: 1980-01-01 genre: Unknown ID3v2 frame: buffer of 33 bytes, type: application/x-gst-id3v2-ufid-frame, version=(int)4 : buffer of 33 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 32 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 32 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 31 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 39 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 37 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 11 bytes, type: application/x-gst-id3v2-tsop-frame, version=(int)4 : buffer of 11 bytes, type: application/x-gst-id3v2-ufid-frame, version=(int)4 : buffer of 32 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 31 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 31 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 30 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 38 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 36 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 10 bytes, type: application/x-gst-id3v2-tsop-frame, version=(int)4 : buffer of 11 bytes, type: application/x-gst-id3v2-ufid-frame, version=(int)4 : buffer of 32 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 31 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 31 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 30 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 38 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 36 bytes, type: application/x-gst-id3v2-txxx-frame, version=(int)4 : buffer of 49 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 51 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 41 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 148 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 18 bytes, type: application/x-gst-id3v2-tpub-frame, version=(int)4 : buffer of 19 bytes, type: application/x-gst-id3v2-tpe2-frame, version=(int)4 : buffer of 44 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 49 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 30 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 24 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 : buffer of 27 bytes, type: application/x-gst-id3v2-priv-frame, version=(int)4 comment: 000002D8 000005D9 00000A56 00001402 00009C6E 00009C6E 0000461B 00005A28 00009C57 00009C57 track number: 6 composer: Craig Scanlon/Marc Riley/Mark E. Smith FOUND TAG : found by element "id3demux2". title: 06 - English Scheme.mp3 artist: Unknown album: Unknown genre: Unknown ID3v2 frame: buffer of 33 bytes, type: application/x-gst-id3v2-ufid-frame, version=(int)4 extended comment: iTunNORM[eng]= 000002D8 000005D9 00000A56 00001402 00009C6E 00009C6E 0000461B 00005A28 00009C57 00009C57 FOUND TAG : found by element "mad0". layer: 3 mode: joint emphasis: none audio codec: MPEG-1 layer 3 bitrate: 192000 Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstSystemClock Got EOS from element "pipeline0". Execution ended after 1660929000 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... FREEING pipeline ...
So it looks like there is two seperate instances of data for each tag??
You've somehow ended up with three id3v2 tags in the file. Rhythmbox is using the data from the last one, while ex falso is probably using the first one. Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of 424629 ***