gst-launch hangs

Alice Wonder alicewonder at
Thu Feb 20 21:05:30 PST 2014

Hello list,

The root problem is a bad mp3. But I need to know how to get the
GStreamer pipe to not hang when it gets one, as this is scripted.

I only use gstreamer to decode the mp3 when lame --decode fails,
sometimes a bad mp3 that lame can not decode actually can be decoded via
GStreamer w/ fluendo plugin.

Anyway here's the lame error so you know more of what the issue is:

Error: number of channels has changed in MP3 file - not supported
It's an mp3 from a pre-recorded talk radio show, they record different
parts ahead of time, I suspect they mixed mono and stereo in that mp3.

I don't mind gst-launch failing to decode a broken mp3, I just want it
to exit instead of hanging.

Here's the gstreamer pipe my script tries when lame fails:

gst-launch filesrc location="${mp3}" ! flump3dec ! audioconvert !
wavenc ! filesink location="${wav}"

Here's the output I get from gst-launch:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Caught SIGSEGV accessing address 0x7fb338021000
#0  0x00000031858ea9dd in ?? ()
#1  0x0000000000000000 in ?? ()
Spinning.  Please run 'gdb gst-launch 7632' to continue debugging,
Ctrl-C to quit, or Ctrl-\ to dump core.


The problem is gst-launch doesn't exit. I need it to exit when this
happens. How do I configure it to do that?


Fedora 20 w/ gstreamer-0.10.36-6.fc20.x86_64 and mp3 decoder from

Thanks for any tips.

More information about the gstreamer-devel mailing list