Plexamp - "Couldn't start playback" - ALSA loopback device and Docker

Hi,

First of all - thanks for Plexamp. It’s fantastic and basically everything I want from a music player.

My overall goal is to configure Plexamp to play using an ALSA loopback device and have this be a source into my Snapcast server which feeds audio throughout the rest of my house.

I’m running headless Plexamp under Docker. Configuration went OK and I can see and connect to the player remotely (1) and each time I try to play back any track I get an error in the web ui stating “Couldn’t start playback”. I don’t see any errors in the logs of STDOUT/STDERR of the server in this case. Before I had the audio device setup correctly then I would be some errors unable unable to open the PCM slave in the server output (not logs) – but fixing the device mapping and permissions alleviated that error message. Now there is nothing about audio devices in the logs or server output when I attempt playback. Maybe it’s not an audio device issue but something else? I see some connection issues but nothing explicit.

One other point - Plexamp works fine from my other devices (an Android phone and tablet) against this same PMS and library.

Confoundingly, if I initiate playback from Plexamp a remote client then it seems to start and shows the playback proceeding? But the web client for that Plexamp instance does not reflect this - no playback ever appears to occur there. This detail may be a strawman.

I’ve verified that the audio devices will do what I want by using aplay to playback a wav file from the Plexamp container and observed it playing back from Spotify.

Here are the logs from the plexamp instance and the PMS instance it’s connecting to. I have changed some private details in the logs (username, domain name) and was careful not to touch anything else.

Plex Media Server.log (183.0 KB)
Plexamp.log (28.5 KB)

Any ideas why playback is failing?

Thanks so much!

(1) - Notably I can only connect remotely if I use network_mode host because otherwise Plexamp advertises its internal Docker IP address and remote clients can’t connect to it. I do have a working HTTP proxy forwarding to it but for some reason the logs show clients trying to connect to that host on port 3190 instead of using vanilla HTTPS over 443 as is configured. I was hoping that the ADVERTISE_IP environment variable would work here like it does in PMS but it seemed to have no effect. Being able to set the ADVERTISE_IP would be super helpful.

1 Like

FWIW I managed to do exactly this a while ago, but issues with Snapcast lead us to develop the multi-zone audio solution for Plexamp which is coming soon (and is much, much better than Snapcast).

If Plexamp’s web UI, make sure you have the remote player selected in the cast menu.

In the logs you’ve sent, the audio device is completely idle and Plexamp isn’t trying to play anything.

Oh - I didn’t even think about that…but, yes - I just double checked that the headless player is selected in the cast section of the web UI and it is.

Oddly enough now it seems like the problem is limited to initiating playback from the web UI itself - that always results in “Couldn’t start playback”

Now, though, if I use a remote client then playback works fine.

Ultimately this isn’t a problem for me since I only plan on using the Android app to control it.

There are no smoking guns in the console or network tab but if you’re interested then I’m happy to share the logs I have and keep investigating – but for now my actual use case is working.

Is there an equivalent of ADVERTISE_IP for Plexamp?

You could get the logs from the browser’s debug window, it should work.

There is not, and we don’t generally recommend running headless inside Docker. It tends to result in these kind of issues, and for the multi-zone version, it really wants to be run “standalone” on a node without competing resources.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.