Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Amarok not working with phonon + gstreamer + pulseaudio + kde5 #16588

Closed
jerith666 opened this issue Jun 29, 2016 · 6 comments
Closed

Amarok not working with phonon + gstreamer + pulseaudio + kde5 #16588

jerith666 opened this issue Jun 29, 2016 · 6 comments

Comments

@jerith666
Copy link
Contributor

jerith666 commented Jun 29, 2016

Issue description

I can't seem to make Amarok play any music. The initial symptom was that PHONON_BACKEND_DEBUG=3 PHONON_SUBSYSTEM_DEBUG=1 amarok --debug printed:

"Warning: You do not seem to have the base GStreamer plugins installed.
All audio and video support has been disabled"
Phonon::GStreamer::Backend: Failed to initialize GStreamer

... the play controls looked to be drawn incompletely (only a play button, no skip fwd/back, etc.), and the phonon settings dialog was completely empty.

After some digging, I hit upon the distinction between GST_PLUGIN_SYSTEM_PATH and GST_PLUGIN_SYSTEM_PATH_1_0. Only the latter was set in my environment, because I'm using kde5 and its nix expression (at nixos/modules/services/x11/desktop-managers/kde5.nix) only sets that. However, amarok looked to be wanting the former since it depends on gstreamer-0.10:

$ nix-store -q --graph $(dirname $(dirname $(readlink -e $(type -p amarok)))) | grep 'gst.*->'
"/nix/store/vf7n11vh8sksa70gp3l2bsvv3h3j0f3p-gst-plugins-base-0.10.36" -> "/nix/store/i8r91xw4b5bg0349kdc7hr4pc63cnxqf-qt-4.8.7" [color = "red"];
"/nix/store/vj9jznlp4y6s2c3c8vnc7him20i6iiim-gstreamer-0.10.36" -> "/nix/store/i8r91xw4b5bg0349kdc7hr4pc63cnxqf-qt-4.8.7" [color = "green"];
"/nix/store/vj9jznlp4y6s2c3c8vnc7him20i6iiim-gstreamer-0.10.36" -> "/nix/store/vf7n11vh8sksa70gp3l2bsvv3h3j0f3p-gst-plugins-base-0.10.36" [color = "burlywood"];

So I added this to configuration.nix (cribbed from kde4.nix):

environment.profileRelativeEnvVars = {
  GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ];
};

and added gst_all.gstPluginsBase to environment.systemPackages. This instead yielded a crash in Phonon::Gstreamer::MediaNode::linkMediaNodeList. Adding gst_all.gstPluginsGood gst_all.gstPluginsBad gst_all.gstPluginsUgly didn't help. Flailing some more, I added gstreamer; that turned the crash into a hang: the amarok window appears but does not draw completely.

At this point I think that the problem is that pkgs/development/libraries/phonon/backends/gstreamer.nix depends on gstreamer 1.x, while amarok depends on gstreamer 0.x. I tried tweaking the former to use gst_all instead of gst_all_1, but that produced a build failure:

-- Checking for module 'gstreamer-1.0'
--   Package 'gstreamer-1.0' not found

It doesn't look easily possible to build amarok against gst_all_1, since its dependency comes indirectly via qt.

I'm hoping for some help from @ttuegel, whose name is all over the relevant git logs. :)

Technical details

  • System: 16.09.git.53c0a7d (Flounder) (based on nixos-unstable @ 453086a)
  • Nix version: nix-env (Nix) 1.11.2
  • Nixpkgs version: 16.09.git.5431facM
@jerith666 jerith666 changed the title Amarok not working with phonon + gstreamer + pulseaudio Amarok not working with phonon + gstreamer + pulseaudio + kde5 Jun 29, 2016
@joelmo
Copy link
Contributor

joelmo commented Jun 29, 2016

I am not a amarok user but I see same issue here, actually not anything but the interface appears to be working.

@jerith666
Copy link
Contributor Author

There is another fix needed to make the collection work with MySQL / MariaDB: #16578

@jerith666
Copy link
Contributor Author

Just an update on the current state: seems to be about the same as before. On current nixos-unstable (@2839b101f9), PHONON_BACKEND_DEBUG=3 PHONON_SUBSYSTEM_DEBUG=1 amarok --debug still prints:

amarok:     BEGIN: void EngineController::initializePhonon() 
PHONON-GST       [WARNING] "Warning: You do not seem to have the base GStreamer plugins installed.
          All audio and video support has been disabled" 
PHONON-GST       [WARNING] "Warning: You do not seem to have the base GStreamer plugins installed.
          All audio and video support has been disabled" 
PHONON-GST       Using GStreamer 0.10.36 
Phonon::GStreamer::Backend: Failed to initialize GStreamer
PHONON-GST       [WARNING] Backend class 2 is not going to be created because GStreamer init failed. 
PHONON-GST       [WARNING] Backend class 3 is not going to be created because GStreamer init failed. 
PHONON-GST       [WARNING] Backend class 0 is not going to be created because GStreamer init failed. 
WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no objectName ) to  Phonon::AudioDataOutput ( no objectName ). 
PHONON-GST       [WARNING] Backend class 0 is not going to be created because GStreamer init failed. 
WARNING: Phonon::createPath: Cannot connect  Phonon::MediaObject ( no objectName ) to  Phonon::AudioOutput ( no objectName ). 
PHONON-GST       [WARNING] Backend class 0 is not going to be created because GStreamer init failed. 
PHONON-GST       [WARNING] Backend class 0 is not going to be created because GStreamer init failed. 
PHONON-GST       [WARNING] Backend class 1 is not going to be created because GStreamer init failed. 
PHONON-GST       [WARNING] Backend class 1 is not going to be created because GStreamer init failed. 
PHONON-GST       [WARNING] Backend class 0 is not going to be created because GStreamer init failed. 
amarok:       [EngineController] Tick Interval (actual):  100 
PHONON-GST       [WARNING] Backend class 0 is not going to be created because GStreamer init failed. 
amarok:     END__: void EngineController::initializePhonon() [Took: 0.076s] 

... but the UI is responsive. With the environment.profileRelativeEnvVars and environment.systemPackages changes from the description reapplied, amarok still hangs on startup.

jerith666 added a commit to jerith666/nixpkgs that referenced this issue Sep 6, 2017
due to continued lack of progress on
NixOS#16588, probably not worth the
time for anything better.

Progress on: NixOS#28643
globin pushed a commit that referenced this issue Sep 8, 2017
due to continued lack of progress on
#16588, probably not worth the
time for anything better.

Progress on: #28643

(cherry picked from commit af57251)
@jerith666
Copy link
Contributor Author

It looks like amarok has been removed in 6c317b6 / #32927. There is still amarok-kf5 (#26436), but I haven't tested that.

However, in the course of researching it, I discovered https://www.clementine-player.org/, which is in nixpkgs and after a bit of testing seems to do the main things I used amarok for. So, if others are running into this problem, I recommend trying clementine as a replacement.

@Ekleog
Copy link
Member

Ekleog commented Oct 22, 2018

(triage) If I understand correctly, the problem can no longer be experienced due to amarok being removed?

@jerith666
Copy link
Contributor Author

Yes, I think so; closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants