The example filter is a good starting point for writing a custom filter.
We refer to the source code for more information.
Module Name
libpipewire-module-example-filter
Module Options
node.description
: a human readable name for the filter streams
capture.props = {}
: properties to be passed to the input stream
playback.props = {}
: properties to be passed to the output stream
General options
Options with well-known behavior. Most options can be added to the global configuration or the individual streams:
Stream only properties:
- PW_KEY_MEDIA_CLASS
- PW_KEY_NODE_NAME: if not given per stream, the global node.name will be prefixed with 'input.' and 'output.' to generate a capture and playback stream node.name respectively.
Example configuration of a virtual source
2 { name = libpipewire-module-example-filter
4 node.description = "Example Filter"
6 audio.position = [ FL FR ]
10 node.name = "Example Filter"
11 media.class = "Audio/Source"
12 audio.position = [ FL FR ]
1 pw-cli -m lm libpipewire-module-example-filter '{ audio.position=[FL FR] }'