.TH "libpipewire-module-pulse-tunnel" 7 "1.0.6" "PipeWire" \" -*- nroff -*- .ad l .nh .SH NAME libpipewire-module-pulse-tunnel \- Pulse Tunnel .SH DESCRIPTION .PP The pulse-tunnel module provides a source or sink that tunnels all audio to a remote PulseAudio connection\&. .PP It is usually used with the PulseAudio or module-protocol-pulse on the remote end to accept the connection\&. .PP This module is usually used together with module-zeroconf-discover that will automatically load the tunnel with the right parameters based on zeroconf information\&. .PP .SH "MODULE NAME" .PP .PP \fRlibpipewire-module-pulse-tunnel\fP .PP .SH "MODULE OPTIONS" .PP .PP .IP "\(bu" 2 \fRtunnel\&.mode\fP: the desired tunnel to create, must be \fRsource\fP or \fRsink\fP\&. (Default \fRsink\fP) .IP "\(bu" 2 \fRpulse\&.server\&.address\fP: the address of the PulseAudio server to tunnel to\&. .IP "\(bu" 2 \fRpulse\&.latency\fP: the latency to end-to-end latency in milliseconds to maintain (Default 200)\&. .IP "\(bu" 2 \fRstream\&.props\fP: Extra properties for the local stream\&. .PP .PP .SH "GENERAL OPTIONS" .PP .PP Options with well-known behavior\&. .PP .IP "\(bu" 2 \fBremote.name\fP .IP "\(bu" 2 \fBaudio.format\fP .IP "\(bu" 2 \fBaudio.rate\fP .IP "\(bu" 2 \fBaudio.channels\fP .IP "\(bu" 2 \fBaudio.position\fP .IP "\(bu" 2 \fBnode.latency\fP .IP "\(bu" 2 \fBnode.name\fP .IP "\(bu" 2 \fBnode.description\fP .IP "\(bu" 2 \fBnode.group\fP .IP "\(bu" 2 \fBnode.virtual\fP .IP "\(bu" 2 \fBmedia.class\fP .IP "\(bu" 2 \fBtarget.object\fP to specify the remote node\&.name or serial\&.id to link to .PP .PP .SH "EXAMPLE CONFIGURATION OF A VIRTUAL SINK" .PP .PP .PP .nf context\&.modules = [ { name = libpipewire\-module\-pulse\-tunnel args = { tunnel\&.mode = sink # Set the remote address to tunnel to pulse\&.server\&.address = "tcp:192\&.168\&.1\&.126" #pulse\&.latency = 200 #audio\&.rate= #audio\&.channels= #audio\&.position= #target\&.object= stream\&.props = { # extra sink properties } } } ] .fi .PP