GNOME Bugzilla – Bug 142566
Certain mp3s don't get played correctly
Last modified: 2004-12-22 21:47:04 UTC
About 25% of my mp3s don't get played correctly by gstreamer and rhythmbox. All I hear is high-pitched garble. All other music players handle my mp3s without a problem. When I recompiled rhythmbox to use the xine backend everything worked just fine. The gst-launch and gst-launch-ext commands also yields a high-pitched noise. When I run gst-launch like this: gst-launch filesrc location="song.mp3" ! mad ignore-crc=1 ! osssink the mp3 plays correctly. I don't know what a crc is, but this seems to be the only way to get gstreamer to play about 200 of my mp3s. Although a large portion of my mp3s come from some not so honorable sources, some of these mp3s I know I ripped myself. However, some of these songs are pretty old so I have no idea what I used to rip them with. I submitted a bug report since other audio players can play my music correctly. BTW, if its any useful I also had this problem with 0.6.x versions of gstreamer and rhythmbox. Here's one of the mp3s in question: http://filebox.vt.edu/users/bcamba/test.mp3
According to mp3check, available at http://jo.ath.cx/soft/mp3check/mp3check.html your file indeed has bad CRCs. They are all set to zero. This is confirmed by madplay, which comes with libmad. It plays pure silence unless ignore-crc is set. It seems that most other players out there ignore CRCs by default since some mp3 encoders don't seem to set the CRCs properly in the first place. It might be a good idea for gstreamer to default to ignore-crc=1. Furthermore, it is a bug that gstreamer plays squealing for a file with bad CRCs. The correct behavior should be silence. I suspect the mad plugin is simply not handling the CRC error gracefully and instead loses sync in the file.
Did what David proposed, works in CVS now.