diff --git a/src/config/wireplumber.conf b/src/config/wireplumber.conf index 3b49db9e..e7f03e67 100644 --- a/src/config/wireplumber.conf +++ b/src/config/wireplumber.conf @@ -10,52 +10,73 @@ add-spa-lib api.jack.* jack/libspa-jack create-session audio create-session video -# the client-device pipewire module is needed for libwireplumber-module-monitor -load-pipewire-module libpipewire-module-client-device +# Load session item factories (building blocks for the session management graph) +# Do not comment these out unless you really know what you are doing +load-module C libwireplumber-module-si-standard-link +load-module C libwireplumber-module-si-adapter +load-module C libwireplumber-module-si-convert +load-module C libwireplumber-module-si-simple-node-endpoint +load-module C libwireplumber-module-si-audio-softdsp-endpoint +load-module C libwireplumber-module-si-monitor-endpoint -# Grants access to security confined clients -load-module C libwireplumber-module-client-permissions +# Additional PipeWire modules can also be loaded in WirePlumber like this. +# libpipewire already loads all the modules that we normally need, though. +# spa-node-factory may be needed if you want to use a monitor with 'local-nodes' +# but without 'use-adapter' (adapter is loaded by default, but spa-node-factory isn't) +#load-pipewire-module libpipewire-module-spa-node-factory + +# +# Load device monitors +# +# factory: the SPA factory name to load (must be registered above) +# flags: +# use-adapter: Use 'adapter' instead of 'spa-node-factory' to create the nodes +# (you normally want this for audio nodes) +# local-nodes: Run the nodes in the WirePlumber process instead of the +# PipeWire one (useful for high latency devices, to avoid stalling PipeWire) +# + +# for ALSA load-module C libwireplumber-module-monitor { "factory": <"api.alsa.enum.udev">, "flags": <["use-adapter"]> } -# load-module C libwireplumber-module-monitor { -# "factory": <"api.bluez5.enum.dbus">, -# "flags": <["local-nodes", "use-adapter"]> -# } +# for Bluetooth +#load-module C libwireplumber-module-monitor { +# "factory": <"api.bluez5.enum.dbus">, +# "flags": <["local-nodes", "use-adapter"]> +#} +# for V4L2 load-module C libwireplumber-module-monitor { "factory": <"api.v4l2.enum.udev"> } + +# +# Load functionality plugins +# + +# Grants access to security confined clients +load-module C libwireplumber-module-client-permissions + +# Automatically sets device profiles to 'On' +# When 'dbus' is set in 'mode', it also uses the DeviceReservation1 +# D-Bus API to reserve ALSA devices and enables the JACK device if +# a JACK server is detected to be running load-module C libwireplumber-module-device-activation { "mode": <"dbus"> } +# Automatically suspends idle nodes after 3 seconds load-module C libwireplumber-module-node-suspension +# Sets endpoint defaults on each session and stores default endpoint +# user settings in XDG_CONFIG_DIR load-module C libwireplumber-module-session-settings -# Implements si-standard-link session item -load-module C libwireplumber-module-si-standard-link - -# Implements si-adapter session item -load-module C libwireplumber-module-si-adapter - -# Implements si-convert session item -load-module C libwireplumber-module-si-convert - -# Implements si-simple-node-endpoint session item -load-module C libwireplumber-module-si-simple-node-endpoint - -#implements si-audio-softdsp-endpoint session item -load-module C libwireplumber-module-si-audio-softdsp-endpoint - -#implements si-monitor-endpoint session item -load-module C libwireplumber-module-si-monitor-endpoint - # Implements static objects creation based on TOML configuration files load-module C libwireplumber-module-config-static-objects