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 331368 - Gstreamer doesn't recognise tags
Gstreamer doesn't recognise tags
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.2
Other All
: Normal minor
: 0.10.3
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 333070 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-02-16 05:08 UTC by Sam Morris
Modified: 2006-03-02 13:23 UTC
See Also:
GNOME target: ---
GNOME version: 2.11/2.12



Description Sam Morris 2006-02-16 05:08:07 UTC
Please describe the problem:
The tags for the attached file are not recognised by Gstreamer. I have
plugins-good 0.10.2 installed.

Steps to reproduce:
$ gst-launch -t playbin uri="file://$PWD/21 paradiso.mp3"
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
FOUND TAG      : found by element "mad0".
          layer: 3
           mode: joint
       emphasis: none
Setting pipeline to PLAYING ...
New clock: audioclock0


Actual results:


Expected results:


Does this happen every time?


Other information:
Tags were written with kid3 <http://kid3.sourceforge.net/>
Comment 1 Sam Morris 2006-02-16 05:11:39 UTC
Rats, it's too large for Bugzilla. I've put it on my web site: <http://robots.org.uk/stuff/bug.mp3>
Comment 2 Joe Wreschnig 2006-02-16 06:16:18 UTC
I can reproduce this. The tag does appear to be incorrect, as the MCDI frame is 256 bytes long -- it should be 8*(n+1)+4 bytes long, where n is the number of tracks, and no value of n makes it 256. However, unless GStreamer is trying to parse the MCDI frame (and I can't believe it is) it shouldn't matter. The frame length is given as 256 bytes, and it is 256 bytes long, so the invalid data is safely contained.
Comment 3 Jan Schmidt 2006-02-16 10:59:37 UTC
Damn - that's a distinction between v2.3.0 and v2.4.0 that had previously escaped me. Thanks, guys - fixed in CVS:

        * gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list):
        ID3 2.3.0 used synch-safe integers for the tag size, but not for the
        frame size. (Fixes #331368)

I get:
     track number: 21
           artist: Yoko Kanno
            album: Wolf's Rain OST1
             date: 2003-01-01
            genre: Anime
            title: paradiso
Comment 4 Joe Wreschnig 2006-02-16 20:34:10 UTC
A heads up -- as of 4.9, iTunes wrote (and may still write) 2.4 tags, but uses non-sync-safe ints (i.e. 2.3-style) for the frame size. This tends to break a lot of files with APIC or other large frames found in the wild.
Comment 5 Jan Schmidt 2006-02-16 21:14:43 UTC
Wow, that's broken. Does anything cope with it? I don't relish the thought of checking 'oh no frame at the indicated offset, let's try again as if it were non-synch-safe'

I much prefer the 'apple should fix their shit' approach
Comment 6 Joe Wreschnig 2006-02-16 21:30:28 UTC
iTunes copes with it, and that's probably the single most popular tagger around. Mutagen, the ID3 reader/writer we wrote for Mutagen, also copes with it. You're right that it's difficult to get correct.
Comment 7 Jan Schmidt 2006-02-17 12:07:40 UTC
Do you have any samples of the ID3 tags that iTunes produced at that point? Not the attached music, but the tags would be useful.
Comment 8 Joe Wreschnig 2006-02-18 20:46:58 UTC
I've scanned my collection and unfortunately it looks like I've fixed all of mine. And again, our test is frame-level so it's probably not much use to id3demux.
Comment 9 Jan Schmidt 2006-02-18 20:55:17 UTC
Fair enough. Thanks for the heads up.
Comment 10 Tim-Philipp Müller 2006-03-02 13:23:30 UTC
*** Bug 333070 has been marked as a duplicate of this bug. ***