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 710928 - MPEG Audio Version tagged as 2.5 has distorted audio output
MPEG Audio Version tagged as 2.5 has distorted audio output
Status: RESOLVED NOTGNOME
Product: GStreamer
Classification: Platform
Component: dont know
1.x
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-10-26 15:45 UTC by ByteEnable
Modified: 2013-10-30 19:50 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description ByteEnable 2013-10-26 15:45:48 UTC
I have experienced audio distortion on playback with files downloaded from blogtalk radio.  Audio plays back fine with Audacity.  However, under GNOME, using gstreamer, the audio is distorted on playback.  There is audible distortion on playback which is very distracting.

I can use ffmpeg and move to another audio format and all is okay.  I think its due to the MPEG Audio Version.

ExifTool Version Number         : 9.27
File Name                       : show_5539311.mp3
Directory                       : .
File Size                       : 41 MB
File Modification Date/Time     : 2013:10:25 22:08:07-05:00
File Access Date/Time           : 2013:10:26 10:11:47-05:00
File Inode Change Date/Time     : 2013:10:26 10:11:47-05:00
File Permissions                : rw-rw-r--
File Type                       : MP3
MIME Type                       : audio/mpeg
MPEG Audio Version              : 2.5
Audio Layer                     : 3
Audio Bitrate                   : 32 kbps
Sample Rate                     : 8000
Channel Mode                    : Single Channel
MS Stereo                       : Off
Intensity Stereo                : Off
Copyright Flag                  : False
Original Media                  : True
Emphasis                        : None
ID3 Size                        : 128
Title                           : Nathan Leal on The Hagmann ' H
Artist                          : Hagmann and Hagmann Report
Album                           : BlogTalkRadio.com
Year                            : 2013
Comment                         :        The Hagmann 'amp; Hagma
Genre                           : None
Date/Time Original              : 2013
Duration                        : 3:00:09 (approx)
Comment 1 Olivier Crête 2013-10-26 17:18:50 UTC
Can attach a short sample? Or add a public URL of one?
Comment 3 Sebastian Dröge (slomo) 2013-10-30 17:49:24 UTC
Works just fine here with 1.2.0. Which MP3 plugin are you using? If in doubt, what's the output of
gst-launch-1.0 -v playbin uri=file:///path/to/the-hagmann-hagmann-report.mp3
Comment 4 ByteEnable 2013-10-30 18:38:25 UTC
It plays for me too but there is audio distortion in the background.  The only way to describe it would be a background sound of someone changing the channels on a radio.  If I convert this to ogg this distortion is not present.

gst-launch-1.0 -v playbin uri=http://www.blogtalkradio.com/cfp-radio/2013/10/26/the-hagmann-hagmann-report.mp3
Setting pipeline to PAUSED ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri = http://www.blogtalkradio.com/cfp-radio/2013/10/26/the-hagmann-hagmann-report.mp3
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = "\(GstSoupHTTPSrc\)\ source"
Pipeline is PREROLLING ...
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0.GstPad:src: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind: force-caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0: sink-caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0.GstPad:src: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0.GstGhostPad:sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMpegAudioParse:mpegaudioparse0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3, parsed=(boolean)false
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstMpegAudioParse:mpegaudioparse0.GstPad:src: caps = audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)3, layer=(int)3, rate=(int)8000, channels=(int)1, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFluMp3Dec:flump3dec0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)1, mpegaudioversion=(int)3, layer=(int)3, rate=(int)8000, channels=(int)1, parsed=(boolean)true
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFluMp3Dec:flump3dec0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: always-ok = false
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: active = true
/GstPlayBin:playbin0/GstInputSelector:inputselector0: active-pad = "\(GstSelectorPad\)\ sink_0"
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0.GstGhostPad:src_0: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink.GstGhostPad:audio_sink.GstProxyPad:proxypad3: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstTee:audiotee.GstTeePad:src_0: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstPad:src_0: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink.GstProxyPad:proxypad6: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstQueue:aqueue.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstStreamSynchronizer:streamsynchronizer0.GstPad:sink_0: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstTee:audiotee.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink.GstGhostPad:audio_sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0.GstGhostPad:src_0.GstProxyPad:proxypad2: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0.GstDecodePad:src_0.GstProxyPad:proxypad1: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink.GstProxyPad:proxypad4: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstQueue2:queue2-0: max-size-bytes = 8000
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = "taglist\,\ audio-codec\=\(string\)\"MPEG\\\ 3\\\ Audio\\\,\\\ Layer\\\ 3\\\ \\\(MP3\\\)\"\,\ nominal-bitrate\=\(uint\)32000\,\ has-crc\=\(boolean\)false\,\ channel-mode\=\(string\)mono\;"
/GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: tags = "taglist\,\ audio-codec\=\(string\)\"MPEG\\\ 3\\\ Audio\\\,\\\ Layer\\\ 3\\\ \\\(MP3\\\)\"\,\ nominal-bitrate\=\(uint\)32000\,\ has-crc\=\(boolean\)false\,\ channel-mode\=\(string\)mono\,\ minimum-bitrate\=\(uint\)32000\,\ bitrate\=\(uint\)32000\,\ maximum-bitrate\=\(uint\)32000\;"
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPulseSink:pulsesink0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:src.GstProxyPad:proxypad5: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioResample:resample.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv/GstAudioConvert:conv.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPlaySinkAudioConvert:aconv.GstGhostPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)8000, channels=(int)1
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstPulseSinkClock
/GstPlayBin:playbin0/GstPlaySink:playsink: volume = 0.21597363388536905
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPulseSink:pulsesink0: volume = 0.21597363388536905
/GstPlayBin:playbin0/GstPlaySink:playsink: mute = false
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPulseSink:pulsesink0: mute = false
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPulseSink:pulsesink0: current-device = alsa_output.pci-0000_00_1b.0.analog-stereo
/GstPlayBin:playbin0/GstPlaySink:playsink: volume = 0.21597363388536905
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPulseSink:pulsesink0: volume = 0.21597363388536905
/GstPlayBin:playbin0/GstPlaySink:playsink: mute = false
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPulseSink:pulsesink0: mute = false
/GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:abin/GstPulseSink:pulsesink0: current-device = alsa_output.pci-0000_00_1b.0.analog-stereo
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:56.185634280
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
Comment 5 Sebastian Dröge (slomo) 2013-10-30 19:50:55 UTC
You're using the Fluendo MP3 decoder. Please report this bug to Fluendo, or reopen this bug report if you can reproduce it with another MP3 decoder (e.g. mad or mpg123audiodec or avdec_mp3). Here it works fine with those.