From 3e730942baef2431f141425ff98ec038bcaae233 Mon Sep 17 00:00:00 2001 From: David Gwilliam Date: Wed, 1 Jul 2026 07:16:42 -0700 Subject: [PATCH] audio-bridge: full pipewire-pulse.conf with context.modules Alpine's pipewire-pulse is a minimal build that doesn't load /usr/share/pipewire/pipewire-pulse.conf (no context.modules). Provide a full config that includes all required modules. --- infra/audio-bridge/pipewire-pulse.conf | 47 +++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/infra/audio-bridge/pipewire-pulse.conf b/infra/audio-bridge/pipewire-pulse.conf index 4e89292..b7e5c56 100644 --- a/infra/audio-bridge/pipewire-pulse.conf +++ b/infra/audio-bridge/pipewire-pulse.conf @@ -1,8 +1,45 @@ -# Custom PipeWire-Pulse config: override server.address to add TCP 4713 listener. -# This file is loaded from /etc/pipewire/pipewire-pulse.conf and overrides -# defaults from /usr/share/pipewire/pipewire-pulse.conf. -# -# PA clients (librespot, mopidy) connect via tcp:127.0.0.1:4713. +# PipeWire-Pulse config: full default config + TCP 4713 listener. +# This is a complete config (not an override); we add tcp:4713 alongside +# the default unix:native socket so PA clients (librespot, mopidy) can +# connect from sibling containers via PULSE_SERVER=tcp:127.0.0.1:4713. + +context.properties = { + ## Configure properties in the system. + #mem.warn-mlock = false + #mem.allow-mlock = true + #mem.mlock-all = false + #log.level = 2 + + #default.clock.quantum-limit = 8192 +} + +context.spa-libs = { + audio.convert.* = audioconvert/libspa-audioconvert + support.* = support/libspa-support +} + +context.modules = [ + { name = libpipewire-module-rt + args = { + nice.level = -11 + } + flags = [ ifexists nofail ] + } + { name = libpipewire-module-protocol-native } + { name = libpipewire-module-client-node } + { name = libpipewire-module-adapter } + { name = libpipewire-module-metadata } + + { name = libpipewire-module-protocol-pulse + args = { + # server.address is set in pulse.properties below + } + } +] + +pulse.cmd = [ + { cmd = "load-module" args = "module-always-sink" flags = [ ] } +] pulse.properties = { server.address = [