I want to push audio from my laptop onto another device. Both devices run PulseAudio (or PipeWire). For various reasons, the mDNS/Zeroconf modules aren’t behaving, so I need to plumb PulseAudio myself. The documentation is missing this one simple worked example, so…

On the other system:

:briar: pactl load-module module-native-protocol-tcp

You may need to fiddle with the auth-ip-acl parameter, a semicolon-separated list of IP addresses or CIDRs. (I assume this also works with IPv6 ACLs, but I haven’t tried — I probably should.)

On my laptop:

:lisbon: pactl load-module module-native-protocol-tcp
:lisbon: pactl load-module module-tunnel-sink \
             server=briar \
:lisbon: pactl load-module module-combine-sink \
             sink_name=netcombined \

This assumes that the other host’s sink is called combined (which is probably the case if you, like me, default to a combined sink under all circumstances).

The documentation goes into