pw-link
#######

-------------------------
The PipeWire Link Command
-------------------------

:Manual section: 1
:Manual group: General Commands Manual

SYNOPSIS
========

| **pw-link** [*options*] -o|-i|-l [*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
==============

-r | --remote=NAME
  The name the *remote* instance to monitor. If left unspecified,
  a connection is made to the default PipeWire instance.

-h | --help
  Show help.

--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.

-o | --output
  List output ports

-i | --input
  List output ports

-l | --links
  List links

-m | --monitor
  Monitor links and ports. **pw-link** will not exit but monitor and
  print new and destroyed ports or links.

-I | --id
  List IDs. Also list the unique link and port ids.

-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:

-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.

-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.

-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.

-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
========

``pipewire(1)``,
``pw-cli(1)``,
