pipewire/doc/dox/programs/pw-link.1.md
Wim Taymans 0877eba761 tools: add Latency reporting to pw-link
Rework how the monitor mode works. Instead of having separate paths for
the list and monitor mode, reuse the list mode. We simply mark all
changes and then list the changes in a loop.

This makes it possible to accumulate some updates and print them
together.

Add a -t option to list the latency params on a port.
2025-09-03 14:42:23 +02:00

138 lines
3 KiB
Markdown

\page page_man_pw-link_1 pw-link
The PipeWire Link Command
# SYNOPSIS
**pw-link** \[*options*\] -o|-i|-l|-t \[*out-pattern*\] \[*in-pattern*\]
**pw-link** \[*options*\] *output* *input*
**pw-link** \[*options*\] -d *output* *input*
**pw-link** \[*options*\] -d *link-id*
# DESCRIPTION
List, create and destroy links between PipeWire ports.
# COMMON OPTIONS
\par -r | \--remote=NAME
The name the *remote* instance to monitor. If left unspecified, a
connection is made to the default PipeWire instance.
\par -h | \--help
Show help.
\par \--version
Show version information.
# LISTING PORTS AND LINKS
Specify one of -o, -i or -l to list the matching optional input and
output ports and their links.
\par -o | \--output
List output ports
\par -i | \--input
List input ports
\par -l | \--links
List links
\par -t | \--latency
List port latencies
\par -m | \--monitor
Monitor links and ports. **pw-link** will not exit but monitor and print
new and destroyed ports or links.
\par -I | \--id
List IDs. Also list the unique link and port ids.
\par -v | \--verbose
Verbose port properties. Also list the port-object-path and the
port-alias.
# CONNECTING PORTS
Without any list option (-i, -o or -l), the given ports will be linked.
Valid port specifications are:
*port-id*
As obtained with the -I option when listing ports.
*node-name:port-name*
As obtained when listing ports.
*port-object-path*
As obtained from the first alternative name for the port when listing
them with the -v option.
*port-alias*
As obtained from the second alternative name for the ports when listing
them with the -v option.
Extra options when linking can be given:
\par -L | \--linger
Linger. Will create a link that exists after **pw-link** is destroyed.
This is the default behaviour, unless the -m option is given.
\par -P | \--passive
Passive link. A passive link will keep both nodes it links inactive
unless another non-passive link is activating the nodes. You can use
this to link a sink to a filter and have them both suspended when
nothing else is linked to either of them.
\par -p | \--props=PROPS
Properties as JSON object. Give extra properties when creaing the link.
# DISCONNECTING PORTS
When the -d option is given, an existing link between port is destroyed.
To disconnect port, a single *link-id*, as obtained when listing links
with the -I option, or two port specifications can be given. See the
connecting ports section for valid port specifications.
\par -d | \--disconnect
Disconnect ports
# EXAMPLES
**pw-link** -iol
List all port and their links.
**pw-link** -lm
List all links and monitor changes until **pw-link** is stopped.
**pw-link** paplay:output_FL alsa_output.pci-0000_00_1b.0.analog-stereo:playback_FL
Link the given output port to the input port.
**pw-link** -lI
List links and their Id.
**pw-link** -d 89
Destroy the link with id 89.
# AUTHORS
The PipeWire Developers <$(PACKAGE_BUGREPORT)>;
PipeWire is available from <$(PACKAGE_URL)>
# SEE ALSO
\ref page_man_pipewire_1 "pipewire(1)",
\ref page_man_pw-cli_1 "pw-cli(1)"