I have an Ubuntu 17.04 server which is sharing its sinks (connected speakers) and sources (USB microphone) with my local network. I've ensured the PulseAudio cookie has been pre-shared and on my clients (both a linux desktop and an RPi3) and I've used the
paprefs package and enabled "Make discoverable PulseAudio network sound devices available locally".
The good: I have managed to successfully play audio from the RPi3 out the speakers connected to my server as well as record audio on the RPi3 from the USB microphone again, connected to my server. No lag, no clipping, it was nice and fluid and just what I want!
The problem: Everytime I reboot the RPi3 it will not automatically see the shared PulseAudio sound devices in the network.
On the RPi3 I use
avahi-browse -ta which always returns results for various services I have in my LAN. However, directly after a reboot of the Pi the PulseAudio services from my server are missing. I have confirmed via other clients that they, in fact, continue to see the PulseAudio services via the same
avahi-browse mechanism so this seems to be isolated between my server and RPi3 only.
To get the RPi3 seeing my servers Pulse Audio services I can do one of two things; either restart the avahi-daemon on the server
systemctl restart avahi-daemon or I manually unload then reload the zeroconf module in PulseAudio
pacmd unload-module module-zeroconf-publish then directly aftwards
pacmd load-module module-zeroconf-publish. Once I do this the RPi3 starts reporting the PulseAudio services from my server in the
avahi-browse -ta output and a
pacmd list-sinks then shows the sinks/speakers connected to my server.
This problem is 100% repeatable and doesn't care whether I'm using the RPi3's inbuilt wifi or wired interfaces. The RPi3 is running Raspbian 8.0 Jessie and I've also used the Jessie-backports repo to get PulseAudio 7.1.
I'd appreciate any help in debuging this further