Section 7 · Overviews and conventions
libpipewire-module-pulse-tunnel.7
Package: pipewire-libs
On this page
libpipewire-module-pulse-tunnel
NAME
DESCRIPTION
MODULE NAME
MODULE OPTIONS
GENERAL OPTIONS
EXAMPLE CONFIGURATION OF A VIRTUAL SINK
NAME
libpipewire-module-pulse-tunnel − Pulse Tunnel
DESCRIPTION
The pulse-tunnel module provides a source or sink that tunnels all audio to a remote PulseAudio connection.
It is usually used with the PulseAudio or module-protocol-pulse on the remote end to accept the connection.
This module is usually used together with module-zeroconf-discover that will automatically load the tunnel with the right parameters based on zeroconf information.
MODULE NAME
libpipewire-module-pulse-tunnel
MODULE OPTIONS
| • | tunnel.mode: the desired tunnel to create, must be source or sink. (Default sink) | ||
| • | pulse.server.address: the address of the PulseAudio server to tunnel to. | ||
| • | pulse.latency: the latency to end-to-end latency in milliseconds to maintain (Default 200). | ||
| • | reconnect.interval.ms: when the remote connection is broken, retry to connect with this interval in millisconds. A value of 0 disables recovery and will result in a module unload. (Default 0) (Since 1.1.0) | ||
| • | stream.props: Extra properties for the local stream. |
GENERAL OPTIONS
Options with well-known behavior.
| • | remote.name | ||
| • | audio.format | ||
| • | audio.rate | ||
| • | audio.channels | ||
| • | audio.position | ||
| • | node.latency | ||
| • | node.name | ||
| • | node.description | ||
| • | node.group | ||
| • | node.virtual | ||
| • | media.class | ||
| • | target.object to specify the remote node.name or serial.id to link to |
EXAMPLE CONFIGURATION OF A VIRTUAL SINK
~/.config/pipewire/pipewire.conf.d/my−pulse−tunnel.conf
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
#reconnect.interval.ms = 0
#audio.rate=<sample rate>
#audio.channels=<number of channels>
#audio.position=<channel map>
#target.object=<remote target name>
stream.props = {
extra sink properties
}
}
}
]