# Register well-known SPA factories
# These do not need to exist on the system to be registered
add-spa-lib audio.convert* audioconvert/libspa-audioconvert
add-spa-lib api.alsa.* alsa/libspa-alsa
add-spa-lib api.v4l2.* v4l2/libspa-v4l2
add-spa-lib api.bluez5.* bluez5/libspa-bluez5

# the client-device pipewire module is needed for libwireplumber-module-monitor
load-pipewire-module libpipewire-module-client-device

# Session object implementation
# This keeps track of the default input & output device endpoint
load-module C libwireplumber-module-session

# Basic pipewire integration - do not remove
load-module C libwireplumber-module-pipewire

# Grants access to security confined clients
load-module C libwireplumber-module-client-permissions

load-module C libwireplumber-module-monitor {
  "factory": <"api.alsa.enum.udev">,
  "flags": <["use-adapter", "activate-devices"]>
}

# Implements endpoint creation based on TOML configuration files
load-module C libwireplumber-module-config-endpoint

# Implements linking clients to devices based on TOML configuration files
load-module C libwireplumber-module-config-policy