1 # Register well-known SPA factories
2 # These do not need to exist on the system to be registered
3 add-spa-lib audio.convert* audioconvert/libspa-audioconvert
4 add-spa-lib api.alsa.* alsa/libspa-alsa
5 add-spa-lib api.v4l2.* v4l2/libspa-v4l2
6 add-spa-lib api.bluez5.* bluez5/libspa-bluez5
8 # the client-device pipewire module is needed for libwireplumber-module-monitor
9 load-pipewire-module libpipewire-module-client-device
11 # Session object implementation
12 # This keeps track of the default input & output device endpoint
13 load-module C libwireplumber-module-session
15 # Basic pipewire integration - do not remove
16 load-module C libwireplumber-module-pipewire
18 # Grants access to security confined clients
19 load-module C libwireplumber-module-client-permissions
21 load-module C libwireplumber-module-monitor {
22 "factory": <"api.alsa.enum.udev">,
23 "flags": <["use-adapter", "activate-devices"]>
26 # Monitors the ALSA devices that are discovered via udev
27 # and creates softdsp-endopints for each one of them
28 # The streams specified here are the ones that will be available for linking
29 # clients. Currently, they are matched against the client's role string.
30 load-module C libwireplumber-module-pw-alsa-udev {
31 "streams": <["Multimedia", "Speech-Low", "Custom-Low",
32 "Navigation", "Speech-High", "Custom-High",
33 "Communication", "Emergency"]>
36 # Monitors the Audio clients that are discovered via pipewire
37 # and creates simple-endpoints for each one of them
38 load-module C libwireplumber-module-pw-audio-client
40 # Implements linking clients to devices based on TOML configuration files
41 load-module C libwireplumber-module-config-policy