Thank you @Giedrius. I looked through the BabelPod logs and it seems to be a JavaScript error that’s breaking this. I’ll try the re-sampling and see if maybe that’s the issue.
While trying new ways of doing this I went down the PulseAudio rabbit hole. Looks like there is a way to do it with module-raop-sink
. Looks like the raop2
module that has the magic was added in PulseAudio 11 and the image is running 12, so we should be ok. I can see the Homepods with it:
$ pactl list short modules
0 module-device-restore
1 module-stream-restore
2 module-card-restore
3 module-augment-properties
4 module-switch-on-port-available
5 module-udev-detect
6 module-alsa-card device_id="0" name="platform-bcm2835_audio" card_name="alsa_card.platform-bcm2835_audio" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"
7 module-alsa-card device_id="1" name="platform-bcm2835_audio" card_name="alsa_card.platform-bcm2835_audio" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"
8 module-alsa-card device_id="2" name="platform-soc_sound" card_name="alsa_card.platform-soc_sound" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"
9 module-jackdbus-detect channels=2
10 module-native-protocol-unix
11 module-gsettings
12 module-raop-discover
13 module-default-device-restore
14 module-rescue-streams
15 module-always-sink
16 module-intended-roles
17 module-suspend-on-idle
18 module-console-kit
19 module-systemd-login
20 module-position-event-sounds
21 module-role-cork
22 module-filter-heuristics
23 module-filter-apply
24 module-raop-sink server=[192.168.1.118]:7000 sink_name=raop_output.Master-Bedroom.local sink_properties='device.description="Master Bedroom" device.model="AudioAccessory1,1"' protocol=UDP encryption=none codec=ALAC latency_msec=2000
25 module-raop-sink server=[192.168.1.118]:7000 sink_name=raop_output.Master-Bedroom.local sink_properties='device.description="Master Bedroom" device.model="AudioAccessory1,1"' protocol=UDP encryption=none codec=ALAC latency_msec=2000
26 module-raop-sink server=[192.168.1.220]:7000 sink_name=raop_output.Living-Room.local sink_properties='device.description="Living Room" device.model="AudioAccessory1,2"' protocol=UDP encryption=none codec=ALAC latency_msec=2000
27 module-raop-sink server=[192.168.1.220]:7000 sink_name=raop_output.Living-Room.local sink_properties='device.description="Living Room" device.model="AudioAccessory1,2"' protocol=UDP encryption=none codec=ALAC latency_msec=2000
28 module-raop-sink server=[192.168.1.137]:7000 sink_name=raop_output.Kitchen.local sink_properties='device.description="Kitchen" device.model="AudioAccessory1,1"' protocol=UDP encryption=none codec=ALAC latency_msec=2000
29 module-raop-sink server=[192.168.1.137]:7000 sink_name=raop_output.Kitchen.local sink_properties='device.description="Kitchen" device.model="AudioAccessory1,1"' protocol=UDP encryption=none codec=ALAC latency_msec=2000
30 module-cli-protocol-unix
But when I try to use the loopback to play though them I get an error:
$ tail -f /var/log/syslog
Mar 21 22:21:34 patchbox pulseaudio[5579]: W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: Server: AirTunes/521.2.7
Mar 21 22:21:34 patchbox pulseaudio[5579]: W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: CSeq: 3
Mar 21 22:21:34 patchbox pulseaudio[5579]: W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response:
Mar 21 22:21:41 patchbox pulseaudio[5579]: W: [pulseaudio] module-loopback.c: Configured latency of 1.00 ms is smaller than minimum latency, using minimum instead
Mar 21 22:21:41 patchbox pulseaudio[5579]: W: [pulseaudio] module-loopback.c: Cannot set requested sink latency of 138.38 ms, adjusting to 250.00 ms
Mar 21 22:21:49 patchbox pulseaudio[5579]: W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: RTSP/1.0 500 Internal Server Error
Mar 21 22:21:49 patchbox pulseaudio[5579]: W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: Content-Length: 0
Mar 21 22:21:49 patchbox pulseaudio[5579]: W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: Server: AirTunes/535.4.41
Mar 21 22:21:49 patchbox pulseaudio[5579]: W: [pulseaudio] rtsp_client.c: Unexpected/Unhandled response: CSeq: 2
I’ll keep digging, but thank you so much for the guidance.