Surround channels aren't exposed over the network, neither with PulseAudio zeroconf nor ROC
I have 5.1 surround speakers plugged into a RPi running PipeWire, and PipeWire on that device is configured to use the "Analog Surround 5.1" profile. PipeWire clients connecting to the RPi's server instance can play audio, but only in stereo mode (front-left and front-right). Sound is properly upmixed on the server so at least all individual speakers play something, but surround source material won't play as actual surround audio.
One thing I did find is that even though the server uses a surround profile, the channel map according to pactl info
still says the channel map in use is front-left,front-right
.
$ PULSE_SERVER=tcp:raspberrypi:4713 pactl info
Server String: tcp:raspberrypi:4713
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: no
Client Index: 84
Tile Size: 65472
User Name: pipewire
Host Name: raspberrypi
Server Name: PulseAudio (on PipeWire 0.3.56)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-51
Default Source: alsa_output.usb-0d8c_USB_Sound_Device-00.analog-surround-51.monitor
Cookie: 9a9b:7169
I suppose that means it's not that there aren't any more channels exposed over the network, it's that even though the right profile is set only 2 channels are used? I'm unsure how to change that.
EDIT: Actually, that doesn't seem to be it. Plugging the surround speakers directly in on the client, all the channels are available (when the right profile is selected) and pactl info
still has default channel map set to front-left,front-right
. So I'm guessing it's a limitation of the networking protocols then?