GNOME Bugzilla – Bug 666735
Specific MP3 Files play garbled sound
Last modified: 2012-02-02 11:44:02 UTC
Hi all, I downloaded two mp3-Files from 7digital.com in November. Directly after downloading they played fine. Last week I tried again and i got garbled sound. OS: OpenSUSE 11.4/64 Multimedia-Packages from Packman Players tested: Amarok, Totem, Vlc, smplayer When I change the KDE Phonon-Backend to xine the files play OK (tested in Amarok). Back to GStreamer: garbled. Other files downloaded from 7digital before or after play OK. Even with GStreamer as backend. I mailed one of the files to one of the members of the Packman mailing list. He was able to reproduce the issue. So it's not just my installation. If required I can mail one of the files to you as well. Just let me know whom to send it to. The mediainfo of the file: General Complete name : ./01 Rhymin & Stealin.mp3 Format : MPEG Audio File size : 9.47 MiB Duration : 4mn 8s Overall bit rate : 320 Kbps Album : Licensed To Ill Part/Position : 1/1 / 1 Part/Total : 1 Track name : Rhymin & Stealin Track name/Position : 1 Track name/Total : 13 Performer : The Beastie Boys Accompaniment : The Beastie Boys Genre : Hip Hop Recorded date : 1995 Copyright : (P) 1986 UMG Recordings, Inc. Comment : Purchased from 7digital.com Audio Format : MPEG Audio Format version : Version 1 Format profile : Layer 3 Mode : Joint stereo Duration : 4mn 8s Bit rate mode : Constant Bit rate : 320 Kbps Channel(s) : 2 channels Sampling rate : 44.1 KHz Stream size : 9.47 MiB (100%) If you need anything else, please let me know. Kind regards, Martin Soltau
If you can repro this with only the first few seconds of the file (eg, using dd), it should be OK to post this short sample. If you'd rather not, you can send it to me (address in the link on my name).
The file sent by email works fine with a simple playbin2 pipeline (gst-launch and Totem), so this seems like a bug that was fixed already. In case it's an issue specific to the KDE Phonon backend or amarok, could you try: gst-launch-0.10 playbin2 uri=file:///..../01\ Rhymin\ \&\ Stealin.mp3 This works fine for me.
Sorry, i answered via Mail a couple of days ago. The above command still plays garbled sound. So no progress there. What comes to my mind: I am using a 64bit System. What about you? Did you test in 32bit? How can I find the exact version of GStreamer used on my system? What is your GStreamer version? Kind regards, Martin
I am using a 64 bit Linux system, with current git of GStreamer core and plugins. I don't have a 32 bit system to test with. I just tried again now, and I get correct playback. To get versions, try: for core: gst-inspect queue | grep Version for -base: gst-inspect playbin2 | grep Version for -good: gst-inspect mpegaudioparse | grep Version for -ugly: gst-inspect mad | grep Version Something you could try is to move away /usr/lib/gstreamer-0.10/libgstmpegaudioparse.* and see if that helps. Once you've tried, place those files back there.
Also of interest would be whether you still get garbled sound with these commands: gst-launch-0.10 playbin2 uri=file:///..../01\ Rhymin\ \&\ Stealin.mp3 audio-sink=alsasink gst-launch-0.10 filesrc location=/..../01\ Rhymin\ \&\ Stealin.mp3 ! mad ! wavenc ! filesink location=/tmp/rs.mp3.wav gst-launch-0.10 playbin2 uri=file:///tmp/rs.mp3.wav (the middle launch line might assert at the end, I just found out, looking at it now but it should not be related).
(In reply to comment #4) > I am using a 64 bit Linux system, with current git of GStreamer core and > plugins. I don't have a 32 bit system to test with. > I just tried again now, and I get correct playback. > > To get versions, try: > for core: gst-inspect queue | grep Version > for -base: gst-inspect playbin2 | grep Version > for -good: gst-inspect mpegaudioparse | grep Version > for -ugly: gst-inspect mad | grep Version > > Something you could try is to move away > /usr/lib/gstreamer-0.10/libgstmpegaudioparse.* and see if that helps. Once > you've tried, place those files back there. Core: Version: 0.10.35 Base: Version: 0.10.35 Good: Version: 0.10.30 Ugly: Not installed
(In reply to comment #5) > Also of interest would be whether you still get garbled sound with these > commands: > > gst-launch-0.10 playbin2 uri=file:///..../01\ Rhymin\ \&\ Stealin.mp3 > audio-sink=alsasink > > gst-launch-0.10 filesrc location=/..../01\ Rhymin\ \&\ Stealin.mp3 ! mad ! > wavenc ! filesink location=/tmp/rs.mp3.wav > gst-launch-0.10 playbin2 uri=file:///tmp/rs.mp3.wav > > (the middle launch line might assert at the end, I just found out, looking at > it now but it should not be related). at least this one: gst-launch-0.10 playbin2 uri=file:///..../01\ Rhymin\ \&\ Stealin.mp3 audio-sink=alsasink still plays garbled sound The second does not do anything: No Element "mad". I guess because the ugly-codecs are not installed
(In reply to comment #6) > (In reply to comment #4) > > I am using a 64 bit Linux system, with current git of GStreamer core and > > plugins. I don't have a 32 bit system to test with. > > I just tried again now, and I get correct playback. > > > > To get versions, try: > > for core: gst-inspect queue | grep Version > > for -base: gst-inspect playbin2 | grep Version > > for -good: gst-inspect mpegaudioparse | grep Version > > for -ugly: gst-inspect mad | grep Version > > > > Something you could try is to move away > > /usr/lib/gstreamer-0.10/libgstmpegaudioparse.* and see if that helps. Once > > you've tried, place those files back there. > > Core: Version: 0.10.35 > Base: Version: 0.10.35 > Good: Version: 0.10.30 > Ugly: Not installed By the way: libgstmpegaudioparse.* is not in that directory. There is a whole bunch of other libgst* files. but no mpegaudioparse. Should I be worried about that?
That's interesting. Do you have a special MP3 decoder plugin by any chance ? The MAD plugin is the canonical one. There is a ffdec_mp3 from gst-ffmpeg, but this one has 0 rank, so will not be used by playbin2, so... a third one ? If you're not sure, you can find out by: GST_DEBUG=*FACTORY*:3 gst-launch-0.10 playbin2 uri=file:///..../01\ Rhymin\ \&\ Stealin.mp3 2>&1 | grep creating.element then attach the output of this (you can ^C as soon as playback has started).
The mp3 parser is now part of libgstaudioparsers.so in -good. Bug #598335 may be related.
(In reply to comment #10) > The mp3 parser is now part of libgstaudioparsers.so in -good. > > Bug #598335 may be related. But this Bug is 2.5 years old. is it really not fixed yet?
(In reply to comment #10) > The mp3 parser is now part of libgstaudioparsers.so in -good. I was looking in the wrong directory. under /usr/lib64/gstreamer.... I have a file called libgstaudioparsers.so. Still no libgstmpegaudioparser but that's OK as far as I understand....
(In reply to comment #9) > That's interesting. > Do you have a special MP3 decoder plugin by any chance ? > The MAD plugin is the canonical one. There is a ffdec_mp3 from gst-ffmpeg, but > this one has 0 rank, so will not be used by playbin2, so... a third one ? > If you're not sure, you can find out by: > > GST_DEBUG=*FACTORY*:3 gst-launch-0.10 playbin2 uri=file:///..../01\ Rhymin\ \&\ > Stealin.mp3 2>&1 | grep creating.element > > then attach the output of this (you can ^C as soon as playback has started). Here you go... 0:00:00.018935341 12779 0x609080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:375:gst_element_factory_create: creating element "playbin2" 0:00:00.019480412 12779 0x609080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:375:gst_element_factory_create: creating element "uridecodebin" 0:00:00.019980930 12779 0x609080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "filesrc" named "source" 0:00:00.020121073 12779 0x609080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:375:gst_element_factory_create: creating element "decodebin2" 0:00:00.020200633 12779 0x609080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "typefind" named "typefind" 0:00:00.024473288 12779 0x609080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:375:gst_element_factory_create: creating element "id3demux" 0:00:00.025474709 12779 0x609080 INFO GST_ELEMENT_FACTORY gstelementfactory.c:375:gst_element_factory_create: creating element "mpegaudioparse" 0:00:00.027695336 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:375:gst_element_factory_create: creating element "flump3dec" 0:00:00.043854356 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:375:gst_element_factory_create: creating element "input-selector" 0:00:00.044062487 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "tee" named "audiotee" 0:00:00.044413932 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "autoaudiosink" named "audiosink" 0:00:00.044588782 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "fakesink" named "tempsink" 0:00:00.048552221 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "pulsesink" named "audiosink-actual-sink-pulse" 0:00:00.071600586 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "jackaudiosink" named "audiosink-actual-sink-jackaudio" 0:00:00.073943619 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "alsasink" named "audiosink-actual-sink-alsa" 0:00:00.077668611 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "bin" named "abin" 0:00:00.077719803 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "queue" named "aqueue" 0:00:00.083405827 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "audioconvert" named "aconv" 0:00:00.084752335 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "audioresample" named "aresample" 0:00:00.086793976 12779 0x75d6e0 INFO GST_ELEMENT_FACTORY gstelementfactory.c:373:gst_element_factory_create: creating element "volume" named "volume" To be honest I do not understand much of this :-(
Thanks, the salient part is: creating element "flump3dec" This is the Fluendo MP3 decoder, which seems likely to be what produces that issue, since that seems to be the difference between our setups. You could verify that by removing it (just move the lib to /tmp temporarily) and installing -ugly to get the mad decoder plugin. If that's confirmed, then you should file a bug on the Fluendo bug tracker.
(In reply to comment #14) > Thanks, the salient part is: > creating element "flump3dec" > > This is the Fluendo MP3 decoder, which seems likely to be what produces that > issue, since that seems to be the difference between our setups. > You could verify that by removing it (just move the lib to /tmp temporarily) > and installing -ugly to get the mad decoder plugin. > > If that's confirmed, then you should file a bug on the Fluendo bug tracker. Just to get this straight: The package providing Fluendo is called "gstreamer-0_10-fluendo-mp3". So for me this is clearly a gstreamer package. Or do I get that wrong? Why would there be another bugzilla besides this one? I'm kind of lost. Are you saying that fluendo - while named gstreamer - is from a completely different, unrelated source? By the way: I uninstalled the package via Yast (OpenSuse) and the mp3-file plays correctly. But Amarok now complains to not have mp3 support while playing it anyway after I clicked that message away. That whole gstreamer/mp3/amarok issue kind of bugs me
Just would like to confirm: Reinstalled the gstreamer-fluendo package from the opensuse-Reporitorys (Package created Feb 20th 2011) and it plays fine Switched to the gstreamer-fluendo package from packman (created December 2011) and the file plays garbled sound. So for me this is an issue implemented into Fluendo between feb 2011 and dec 2011. Can someone now point me to the correct bugtracker?!? Cheers, Martin
It is a gstreamer plugin made by Fluendo, a third party company. There would be another bug tracker (I assume) for this plugin because it's made by Fluendo, not us. That's what happens when you make software that can use plugins: others can make their own plugins too. Like if you use, say, the Adblock plugin for Firefox. It's made by someone else that the Mozilla folks, but it's a Firefox plugin, which works within Firefox. To summarize: - GStreamer is a plugin based framework - GStreamer's own set of plugins includes a MP3 decoder, called mad, in -ugly - Fluendo has their own MP3 decoder plugin, which you obtained I thought Fluendo was selling their decoder, so you'd know where to contact them. The company's website is http://www.fluendo.com/. So you can either obtained a fixed version of the Fluendo MP3 decoder (from Fluendo), or use the mad decoder that comes with gstreamer's -ugly repo. Now, since the issue is with a third party decoder, I'll close this as not being a bug in our software. If it turns out it's in fact a gst bug that hits the Fluendo decoder, then please reopen.
You could/should probably also file a bug with the distro where you obtained your package from.