GNOME Bugzilla – Bug 168399
Alsasink has trouble when "plug" is used and hardware is accessed directly
Last modified: 2005-03-17 08:01:05 UTC
Distribution/Version: Debian Hi, Georg Wittenburg reported in Debian bug <http://bugs.debian.org/296751> that he experiences trouble with alsasink in amarok. It seems to be related to his Alsa configuration. Quoting his report: "GStreamer crashes when used by Amarok 1.2.0. The console says: amarok: [controller] Loading URL: file:/media/data/Music/Shakira%20-%20Grandes%20Exitos/Shakira%20-%2010%20-%20Ojos%20Asi.mp3 amarok: BEGIN: virtual bool GstEngine::load(const KURL&, bool) amarok: [Gst-Engine] Loading url: file:/media/data/Music/Shakira%20-%20Grandes%20Exitos/Shakira%20-%2010%20-%20Ojos%20Asi.mp3 amarok: BEGIN: InputPipeline::InputPipeline() amarok: END__: InputPipeline::InputPipeline() - Took 0.03s amarok: END__: virtual bool GstEngine::load(const KURL&, bool) - Took 0.14s amarok: BEGIN: virtual bool GstEngine::play(unsigned int) amarok: BEGIN: void EngineSubject::stateChangedNotify(Engine::State) amarok: [virtual void amaroK::StatusBar::engineStateChanged(Engine::State)] Line: 121 amarok: END__: void EngineSubject::stateChangedNotify(Engine::State) - Took 0.02s amarok: END__: virtual bool GstEngine::play(unsigned int) - Took 0.29s amarok: BEGIN: void EngineSubject::newMetaDataNotify(const MetaBundle&, bool) amarok: [296x67] amarok: 6 amarok: 26 amarok: END__: void EngineSubject::newMetaDataNotify(const MetaBundle&, bool) -Took 0.19s amarok: [Gst-Engine] Fade-in finished. amarok: [GstPadLinkReturn gst_equalizer_link(GstPad*, const GstCaps*)] amarok: [GstPadLinkReturn gst_equalizer_link(GstPad*, const GstCaps*)] amarok: [static void GstEngine::inputError_cb(GstElement*, GstElement*, GError*, gchar*, void*)] amarok: BEGIN: void GstEngine::handleInputError() amarok: [Gst-Engine] [ERROR!] [GStreamer Error] Internal GStreamer error: padproblem. File a bug. ** gstpad.c(2563): gst_pad_set_explicit_caps: /root_bin/thread0/bin0/spider0/mad0: failed to negotiate (try_set_caps with "audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2" returned REFUSED) amarok: [StatusBar] Creating timer for: 1resetMainText() amarok: [Gst-Engine] [ERROR!] Input-Pipeline has signaled an error. Destroying pipeline. amarok: BEGIN: void GstEngine::destroyPipeline() amarok: BEGIN: InputPipeline::~InputPipeline() amarok: END__: InputPipeline::~InputPipeline() - Took 0s amarok: amaroK is crashing... This may be related to http://bugzilla.gnome.org/show_bug.cgi?id=133006." He completed this information with the following: "georg@vaio:~$ gst-launch-0.8 filesrc location="/media/data/Music/Erikah Badu - Tyrone.mp3" ! mad ! alsasink RUNNING pipeline ... Execution ended after 101 iterations (sum 2069227000 ns, average 20487396 ns, min 34000 ns, max 175411000 ns). Caught interrupt. georg@vaio:~$ gst-launch-0.8 filesrc location="/usr/share/sounds/KDE_Startup_1.ogg" ! oggdemux ! vorbisdec ! audioconvert ! alsasink RUNNING pipeline ... Execution ended after 145 iterations (sum 1920410000 ns, average 13244206 ns, min 25000 ns, max 317577000 ns). Caught interrupt. Note that my ALSA pipeline is setup as default -> plug -> asym -> dmix -> card0 -> hw:0. The "plug" seems to be the relevant part. When I access the hardware directly, I get crashes: georg@vaio:~$ gst-launch-0.8 filesrc location="/media/data/Music/Erikah Badu - Tyrone.mp3" ! mad ! alsasink device=hw:0 RUNNING pipeline ... ERROR: from element /pipeline0/mad0: Internal GStreamer error: pad problem. File a bug. Additional debug info: gstpad.c(2563): gst_pad_set_explicit_caps: /pipeline0/mad0: failed to negotiate (try_set_caps with "audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2" returned REFUSED) Floating point exception georg@vaio:~$ gst-launch-0.8 filesrc location="/usr/share/sounds/KDE_Startup_1.ogg" ! oggdemux ! vorbisdec ! audioconvert ! alsasink device=hw:0 RUNNING pipeline ... ERROR: from element /pipeline0/vorbisdec0: Internal GStreamer error: pad problem. File a bug. Additional debug info: gstpad.c(2563): gst_pad_set_explicit_caps: /pipeline0/vorbisdec0: failed to negotiate (try_set_caps with "audio/x-raw-float, rate=(int)44100, channels=(int)2, endianness=(int)1234, width=(int)32, buffer-frames=(int)0" returned REFUSED) Execution ended after 16 iterations (sum 78853000 ns, average 4928312 ns, min 25000 ns, max 77533000 ns). " This is with GStreamer 0.8.9, and might be with gst-plugins 0.8.6, I'm waiting for a confirmation of the gst-plugins version (it might be with 0.8.7). Regards,
Hi! The versions of all related packages are as follows: georg@vaio:~$ COLUMNS=120 dpkg -l | grep alsa ii alsa-base 1.0.8-5 ALSA driver configuration files ii alsa-oss 1.0.8-1 ALSA wrapper for OSS applications ii alsa-utils 1.0.8-2 ALSA utilities ii gstreamer0.8-alsa 0.8.7-3 ALSA plugin for GStreamer ii libsdl1.2debian-alsa 1.2.7+1.2.8cvs20041007-4 Simple DirectMedia Layer (with X11 and ALSA options) georg@vaio:~$ COLUMNS=120 dpkg -l | grep gstreamer ii amarok-gstreamer 1.2.0-1 GStreamer engine for the amaroK audio player ii gstreamer0.8-a52dec 0.8.7-3 ATSC A/52 audio decoder plugin for GStreamer ii gstreamer0.8-aa 0.8.7-3 AA-lib plugin for GStreamer ii gstreamer0.8-alsa 0.8.7-3 ALSA plugin for GStreamer ii gstreamer0.8-artsd 0.8.7-3 aRtsd plugin for GStreamer ii gstreamer0.8-audiofile 0.8.7-3 AudioFile plugin for GStreamer ii gstreamer0.8-caca 0.8.7-3 Colour AsCii Art library plugin for GStreamer ii gstreamer0.8-cdparanoia 0.8.7-3 cdparanoia plugin for GStreamer ii gstreamer0.8-dv 0.8.7-3 DV plugin for GStreamer ii gstreamer0.8-dvd 0.8.7-3 DVD plugin for GStreamer ii gstreamer0.8-esd 0.8.7-3 Enlightened Sound Daemon plugin for GStreamer ii gstreamer0.8-festival 0.8.7-3 Festival speech synthesis plugin for GStreamer ii gstreamer0.8-flac 0.8.7-3 FLAC plugin for GStreamer ii gstreamer0.8-gnomevfs 0.8.7-3 Gnome VFS plugin for GStreamer ii gstreamer0.8-gsm 0.8.7-3 GSM plugin for GStreamer ii gstreamer0.8-hermes 0.8.7-3 colorspace conversion plugin for GStreamer based on hermes ii gstreamer0.8-jack 0.8.7-3 JACK plugin for GStreamer ii gstreamer0.8-jpeg 0.8.7-3 JPEG plugin for GStreamer ii gstreamer0.8-mad 0.8.7-3 MAD MPEG audio decoder plugin for GStreamer ii gstreamer0.8-mikmod 0.8.7-3 MikMod decoder plugin for GStreamer ii gstreamer0.8-misc 0.8.7-3 Collection of various GStreamer plugins ii gstreamer0.8-mpeg2dec 0.8.7-3 MPEG1 and MPEG2 video decoder plugin for GStreamer ii gstreamer0.8-oss 0.8.7-3 OSS plugin for GStreamer ii gstreamer0.8-plugin-apps 0.8.7-3 Simple GStreamer applications ii gstreamer0.8-plugins 0.8.7-3 All GStreamer plugins ii gstreamer0.8-sdl 0.8.7-3 SDL videosink plugin for GStreamer ii gstreamer0.8-sid 0.8.7-3 C64 SID decoder plugin for GStreamer ii gstreamer0.8-speex 0.8.7-3 Speex plugin for GStreamer ii gstreamer0.8-swfdec 0.8.7-3 SWF (Macromedia Flash) decoder plugin for GStreamer ii gstreamer0.8-theora 0.8.7-3 Theora plugin for GStreamer ii gstreamer0.8-tools 0.8.9-1 Tools for use with GStreamer ii gstreamer0.8-vorbis 0.8.7-3 Vorbis plugin for GStreamer ii gstreamer0.8-x 0.8.7-3 X videosink plugin for GStreamer ii libgstreamer-gconf0.8-0 0.8.7-3 GConf support for GStreamer ii libgstreamer-plugins0.8- 0.8.7-3 Various GStreamer libraries and library plugins ii libgstreamer-plugins0.8- 0.8.7-3 Development files for various GStreamer library and library plug ii libgstreamer0.8-0 0.8.9-1 Core GStreamer libraries, plugins, and utilities ii libgstreamer0.8-dev 0.8.9-1 GStreamer development libraries and headers
And there's a backtrace generated by Amarok over here: http://sourceforge.net/mailarchive/forum.php?thread_id=6677060&forum_id=43757 Thanks for looking into this. Regards, Georg
I think this is fixed in CVS, please re-check with 0.8.8 (when it comes out) or CVS.
(for my own sanity: the crash is in mad, it's the division by zero if we push data before a header was read somehow...)
I'll check as soon as 0.8.8 hits Debian unstable. Thanks!
It's working fine with 0.8.8. Thanks a lot!
I can't find the duplicate anymore, so I'll just close this then...