Add support for fifo pipe sink (module-pipe-sink)
Hey! I was testing out migrating my system to use PipeWire instead of pulseaudio and hit a small roadblock. I'm currently using snapcast [1] to play music and keep it synced across several rooms/clients.
Basically the flow looks like:
audio player software -> PulseAudio -> PulseAudio pipe sink -> snapfifo -> snapserver -> network -> snapclient -> Alsa
This uses the module-pipe-sink
[2][3] from PulseAudio to write to a named pipe which snapcast then consumes. This sink is created with the following commands
pacmd load-module module-pipe-sink file=/tmp/snapfifo sink_name=Snapcast format=s16le rate=48000
pacmd update-sink-proplist Snapcast device.description=Snapcast
Attempting to run that under PipeWire (changing to pactl
or trying to use pw-cli
) fails with Failure: Timeout
since as far as I can see there's no support for named pipe sinks yet.
So it would be awesome to have that in PipeWire as well, but my C skills are pretty bad. And if you know of a different way to achieve the same thing (getting a named pipe as a sink) via jack or something else on top of PipeWire it would also be appreciated.