GNOME Bugzilla – Bug 560502
GStreamer kills Rhythmbox and Banshee on Playback
Last modified: 2009-01-09 23:23:00 UTC
When trying to play mp3 files both players named in summary hang. rhythmbox -d says: (14:18:25) [0x9c3f408] [rb_shell_player_error] rb-shell-player.c:3421: playback error while playing: Internal GStreamer error: state change failed. Please file a bug at http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer. I am using Ubuntu 8.10 on an x86 platform - namely a MacBook.
does it give an error when you do this: gst-launch -v playbin uri=file:///<path>/<to>/<file> if it does, can you paste the output here?
gst-launch seems to be a wrapper /usr/bin/gst-launch --help Usage: gst-launch [OPTION...] wrapper to call versioned gst-launch Help Options: -?, --help Show help options Application Options: -p, --print print wrapped command line options --gst-mm=VERSION Force major/minor version --gst-list-mm List found major/minor versions and doesn't work by default /usr/bin/gst-launch -v playbin uri=file:///home/tobias/Music/song.mp3 bash: tobias@tobias-mb-linux:~$: command not found Using the versioned command directly does the job: tobias@tobias-mb-linux:~$ /usr/bin/gst-launch-0.10 -v playbin uri=file:///usr/share/sounds/KDE-Im-Sms.ogg Setting pipeline to PAUSED ... /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = application/ogg Pipeline is PREROLLING ... /GstPlayBin:playbin0/GstStreamSelector:selector_audio_src0: active-pad = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:sink: caps = audio/x-vorbis /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:src: caps = audio/x-vorbis /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstVorbisDec:vorbisdec1.GstPad:sink: caps = audio/x-vorbis /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstVorbisDec:vorbisdec1.GstPad:src: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstStreamSelector:selector_audio_src0.GstSelectorPad:sink0: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src0.GstProxyPad:proxypad1: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstStreamSelector:selector_audio_src0.GstPad:src: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstQueue:preroll_audio_src0.GstPad:sink: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstQueue:preroll_audio_src0.GstPad:src: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin/GstAudioConvert:aconv.GstPad:src: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin/GstAudioConvert:aconv.GstPad:sink: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin.GstGhostPad:sink: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin.GstGhostPad:sink.GstProxyPad:proxypad3: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin/GstAudioresample:aresample.GstPad:src: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin/GstAudioresample:aresample.GstPad:sink: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin/GstVolume:volume.GstPad:src: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin/GstVolume:volume.GstPad:sink: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse.GstPad:sink: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 /GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink.GstProxyPad:proxypad2: caps = audio/x-raw-float, rate=(int)48000, channels=(int)2, endianness=(int)1234, width=(int)32 Pipeline is PREROLLED ... Setting pipeline to PLAYING ... New clock: GstAudioSinkClock Got EOS from element "playbin0". Execution ended after 2160158509 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... /GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink/GstPulseSink:audiosink-actual-sink-pulse.GstPad:sink: caps = NULL /GstPlayBin:playbin0/GstBin:abin/GstAutoAudioSink:audiosink.GstGhostPad:sink: caps = NULL /GstPlayBin:playbin0/GstBin:abin/GstVolume:volume.GstPad:src: caps = NULL /GstPlayBin:playbin0/GstBin:abin/GstVolume:volume.GstPad:sink: caps = NULL /GstPlayBin:playbin0/GstBin:abin/GstAudioresample:aresample.GstPad:src: caps = NULL /GstPlayBin:playbin0/GstBin:abin/GstAudioresample:aresample.GstPad:sink: caps = NULL /GstPlayBin:playbin0/GstBin:abin/GstAudioConvert:aconv.GstPad:src: caps = NULL /GstPlayBin:playbin0/GstBin:abin/GstAudioConvert:aconv.GstPad:sink: caps = NULL /GstPlayBin:playbin0/GstBin:abin.GstGhostPad:sink: caps = NULL /GstPlayBin:playbin0/GstQueue:preroll_audio_src0.GstPad:src: caps = NULL /GstPlayBin:playbin0/GstQueue:preroll_audio_src0.GstPad:sink: caps = NULL /GstPlayBin:playbin0/GstStreamSelector:selector_audio_src0.GstSelectorPad:sink0: caps = NULL /GstPlayBin:playbin0/GstStreamSelector:selector_audio_src0.GstPad:src: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0.GstGhostPad:src0: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstVorbisDec:vorbisdec1.GstPad:src: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstVorbisDec:vorbisdec1.GstPad:sink: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:src: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstQueue:queue0.GstPad:sink: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstOggDemux:oggdemux0.GstOggPad:serial_00002639: caps = NULL /GstPlayBin:playbin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = NULL Setting pipeline to NULL ... FREEING pipeline ...
Can you run gstreamer-properties and check what kind of audio sink is selected? you should have pulsesink selected. If that seems fine, please run banshee like this GST_DEBUG=*:5 banshee >debug.log 2>&1 then play a song, exit, gzip the debug.log file and attach here. Thanks.
(In reply to comment #2) > gst-launch seems to be a wrapper > > /usr/bin/gst-launch --help > Usage: > gst-launch [OPTION...] wrapper to call versioned gst-launch > > Help Options: > -?, --help Show help options > > Application Options: > -p, --print print wrapped command line options > --gst-mm=VERSION Force major/minor version > --gst-list-mm List found major/minor versions > > > and doesn't work by default > > /usr/bin/gst-launch -v playbin uri=file:///home/tobias/Music/song.mp3 > bash: tobias@tobias-mb-linux:~$: command not found > The only reason I can think of for that behaviour is if you somehow have the wrapper from the 0.8 GStreamer series installed, but don't have gst-launch-0.8 itself.... which indicates a broken install/setup. Which package owns your /usr/bin/gst-launch? (dpkg --search /usr/bin/gst-launch)
(In reply to comment #4) > (In reply to comment #2) > > gst-launch seems to be a wrapper > > > > /usr/bin/gst-launch --help > > Usage: > > gst-launch [OPTION...] wrapper to call versioned gst-launch > > > > Help Options: > > -?, --help Show help options > > > > Application Options: > > -p, --print print wrapped command line options > > --gst-mm=VERSION Force major/minor version > > --gst-list-mm List found major/minor versions > > > > > > and doesn't work by default > > > > /usr/bin/gst-launch -v playbin uri=file:///home/tobias/Music/song.mp3 > > bash: tobias@tobias-mb-linux:~$: command not found > > > > The only reason I can think of for that behaviour is if you somehow have the > wrapper from the 0.8 GStreamer series installed, but don't have gst-launch-0.8 > itself.... which indicates a broken install/setup. > > Which package owns your /usr/bin/gst-launch? (dpkg --search > /usr/bin/gst-launch) > dpkg --search /usr/bin/gst-launch gstreamer-tools: /usr/bin/gst-launch
Created attachment 122570 [details] Screenshot gstreamer-settings Shows the configuration
Created attachment 122571 [details] debug.log of banshee - as requested
(In reply to comment #3) > Can you run gstreamer-properties and check what kind of audio sink is selected? > you should have pulsesink selected. > > If that seems fine, please run banshee like this > > GST_DEBUG=*:5 banshee >debug.log 2>&1 > > then play a song, exit, gzip the debug.log file and attach here. Thanks. > gstreamer-properties gstreamer-properties-Message: Skipping unavailable plugin 'artsdsink' gstreamer-properties-Message: Skipping unavailable plugin 'esdsink' gstreamer-properties-Message: Skipping unavailable plugin 'glimagesink' gstreamer-properties-Message: Skipping unavailable plugin 'sdlvideosink' gstreamer-properties-Message: Skipping unavailable plugin 'v4lmjpegsrc' gstreamer-properties-Message: Skipping unavailable plugin 'qcamsrc' gstreamer-properties-Message: Skipping unavailable plugin 'esdmon' screenshot of config is attached. I also tried to set it to pulsesink, but that did not make any difference to rhythmbox or banshee. I could hear the test sound of the config interface though on both automatic and with pulsesink set. I also attached the zipped logfile from banshee. After a while I had to kill banshee, because it hung up again without playing.
The gconf key /system/gstreamer/0.10/default/musicaudiosink is set to "sbcenc ! a2dpsink device=00:07:A4:B5:F3:14" but it should be set to autoaudiosink. I don't know how it got to this value, maybe a weird package? Also gstreamer-properties only seem to deal with the audiosink gconf key. Try setting the value of the gconf key to autoaudiosink.
IT WORKS! Thanks a bunch! It was all my fault. I had used my bluetooth headset and set that value but not set it back. Sorry about the hassle. Weird though that it kills the whole app.