Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 61492

Summary: amarok 1.0.2 WARNING: GStreamer could not create the element: Alsa
Product: Gentoo Linux Reporter: John Steele Scott <toojays>
Component: Current packagesAssignee: Gentoo Sound Team <sound>
Status: RESOLVED UPSTREAM    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description John Steele Scott 2004-08-24 04:23:23 UTC
I wanted to try using GStreamer instead of arts, because artsd crashes frequently on my iBook. So I added gstreamer to my USE flags, and re-emerged amarok, which ended up emerging gst-plugins-0.8.1, gst-plugins-alsa-0.8.1, and gstreamer-0.8.1 as well.

After the emerge, I started amarok and selected GStreamer for the output. But when I go to play a track, it gives this message in the console:

amarok: [virtual void LoaderServer::newConnection(int)]
amarok: Received: STARTUP (8 bytes)
amarok: [engine] Playing: 02 What More Can I Say.ogg
amarok: [virtual void GstEngine::stop()]
amarok: Sound output method: Alsa
amarok: WARNING: GStreamer could not create the element: Alsa
amarok: Please make sure that you have run 'gst-register', and consult the GStreamer manual.
amarok: [engine] Playing: 02 What More Can I Say.ogg
amarok: [virtual App::~App()]
amarok: [virtual void GstEngine::stop()]
amarok: [virtual CollectionView::~CollectionView()]
amarok: [static void PluginManager::unload(amaroK::Plugin*)]
amarok: BEGIN [virtual GstEngine::~GstEngine()]
amarok: [virtual void GstEngine::stop()]
amarok: END [virtual GstEngine::~GstEngine()]
amarok: [virtual EngineBase::~EngineBase()]
amarok: [virtual amaroK::Plugin::~Plugin()]
amarok: Unloading library: libamarok_gstengine_plugin
amarok: [virtual EngineBase::~EngineBase()]
amarok: [virtual amaroK::Plugin::~Plugin()]

When gst-plugins-alsa was emerged, the output included the following, so I think it is registered:

 * Updating gstreamer plugins registry for gstreamer 0.8...
rebuilding global_registry (/var/lib/cache/gstreamer-0.8/registry.xml)
added plugin alsa with 3 feature(s)

But maybe there is a case problem or something (i.e. Alsa vs alsa)? Or could it be that when the four packages were emerged, gst-plugins-alsa was emerged _after_ amarok?

I guess for now I will try an re-emerge amarok just in case it was an issue of the order, then I'll try a newer chain of gstreamer stuff (0.8.1 is the latest stable version in ppc-land), then finally I'll try the new amarok-1.1 beta.

Reproducible: Always
Steps to Reproduce:
Comment 1 John Steele Scott 2004-08-24 06:22:46 UTC
Quick update before I go in search of sleep:

I upgraded to gstreamer-0.8.5, gstreamer-plugins-0.8.3, gstreamer-plugins-alsa-0.8.3. Now in amarok I can select alsasink as the output rather than Alsa, and this seems to solve the problem described above.

However, I still can't play music. Now it looks like:

bash-2.05b$ amarok: [virtual void LoaderServer::newConnection(int)]
amarok: Received: STARTUP (8 bytes)
amarok: [static QValueList<KSharedPtr<KService> > PluginManager::query(const QString&)]
amarok: Plugin trader constraint: [X-KDE-amaroK-framework-version] >= 2 and [X-KDE-amaroK-plugintype] == 'engine'
amarok: BEGIN [void App::applySettings(bool)]
amarok: [static KSharedPtr<KService> PluginManager::getService(const amaroK::Plugin*)]
amarok: Setting sound output to: alsasink
amarok: END [void App::applySettings(bool)]
amarok: [engine] Playing: 12 My 1st Song.ogg
amarok: [virtual void GstEngine::stop()]
amarok: Sound output method: alsasink
amarok: DefaultSoundDevice: true
amarok: Sound Device:
amarok: [virtual void GstEngine::play()]

(process:10311): GStreamer-WARNING **: element thread claimed state-change success,but state didn't change to PLAYING. State is PAUSED (NONE_PENDING pending), fix the element
amarok: [engine] Playing: 12 My 1st Song.ogg
amarok: [engine] Playing: 01 From Out Of Nowhere.ogg
amarok: [virtual void GstEngine::stop()]
amarok: Sound output method: alsasink
amarok: DefaultSoundDevice: true

Note that even when it says it's playing, no sound comes out.

So I went to http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/chapter-using.html, and found that I can get sound to come out using "gst-launch-0.8 sinesrc ! alsasink", but it's no go if I try and play an MP3 or Ogg Vorbis using their example. Using "gst-inspect-0.8 ogg" shows I don't have any of the relevant decoder plugins (i.e. no ogg, no vorbis, no mad), so now I'm emerging those to see if that helps (why does the configure step take so long when you only want one plugin???)

Ah . . . okay, it's finished vorbis and ogg, and now amarok can play my Ogg Vorbis files.

Sooo . . . I guess this comes down to a matter of policy of what plugins are built and when . . . the ebuild for gst-plugins says:

        einfo "The Gstreamer plugins setup has changed quite a bit on Gentoo,"
        einfo "applications now should provide the basic plugins needed."

So maybe the amarok ebuild needs to add a whole heap of conditional dependencies for various gst-plugins?
Comment 2 Jeremy Huddleston (RETIRED) gentoo-dev 2004-10-05 13:30:25 UTC
Can you try contacting the upstream devs about this?  gstreamer has never worked right for me, so I don't try to support it.