libpipewire-module-pulse-tunnel(7) Miscellaneous Information Manual libpipewire-module-pulse-tunnel(7)

# [NAME](#NAME)

libpipewire-module-pulse-tunnel - Pulse Tunnel

# [DESCRIPTION](#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](#MODULE_NAME)

libpipewire-module-pulse-tunnel

# [MODULE OPTIONS](#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](#GENERAL_OPTIONS)

Options with well-known behavior.

- **remote.name**
- **audio.format**
- **audio.rate**
- **audio.channels**
- **audio.layout**
- **audio.position**
- **node.latency**
- **node.name**
- **node.description**
- **node.group**
- **node.virtual**
- **node.network**
- **media.class**
- **target.object** to specify the remote node.name or serial.id to link to

# [EXAMPLE CONFIGURATION OF A VIRTUAL SINK](#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


        }


    }
}
]
```

1.6.11 PipeWire

---

Document: libpipewire-module-pulse-tunnel(7) from pipewire 1.6.11-r2 (Chainguard OS)
Source: https://gitlab.freedesktop.org/pipewire/pipewire
