Stream configuration — WirePlumber 0.5.17 documentation

# Stream configuration

Streams are the nodes that applications create to play back or capture audio. WirePlumber remembers their volume, mute state, channel map and target device, and restores them the next time the same application appears.

The settings that control this globally — `node.stream.restore-props`, `node.stream.restore-target` and the default volumes — are described in Well-known settings. This page describes how to override that behaviour for individual streams.

stream.rules

  Rules that are matched against a stream's properties when it appears, allowing its properties to be modified. The syntax is the same as for the monitor rules; see Modifying configuration.

  Because matching happens on the stream's PipeWire properties, rules can target a specific application:

      stream.rules = [
        {
          matches = [
            { application.name = "pw-play" }
          ]
          actions = {
            update-props = {
              state.restore-props  = false
              state.restore-target = false
              state.default-volume = 1.0
            }
          }
        }
      ]

## Per-stream state properties

The following properties are read by the state restoring logic. They are most useful when set through `stream.rules`, but an application may also set them on its own nodes.

state.restore-props

  Set to `false` to prevent WirePlumber from restoring this stream's volume, mute state and channel map, even when `node.stream.restore-props` is enabled globally.

state.restore-target

  Set to `false` to prevent WirePlumber from restoring the target device this stream was last linked to, even when `node.stream.restore-target` is enabled globally.

state.default-volume

  The volume to give this stream when it has no previously stored volume. Overrides `node.stream.default-playback-volume` and `node.stream.default-capture-volume` for this stream.

## Examples

A commented example fragment ships as `stream.conf`; see Example configuration fragments.