summaryrefslogtreecommitdiffstats
path: root/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl
diff options
context:
space:
mode:
authorJan-Simon Möller <jsmoeller@linuxfoundation.org>2020-06-25 19:47:24 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2020-06-26 14:37:56 +0000
commit4ce8411bb9c47a59d67ffe431f43cc4bc408dce1 (patch)
tree327687c68d5e57f2aaed9d667872db13b965d872 /meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl
parent6ba0b4d2b38b88fef8bb847fe8631995d72910b6 (diff)
Move meta-agl-profile-graphical-html5 and meta-pipewire into the main layer
Reasoning: - the profile-graphical-html5 belongs in the main layer - meta-pipewire is enabled by default For reference - the original location is: https://gerrit.automotivelinux.org/gerrit/gitweb?p=AGL%2Fmeta-agl-devel.git;a=commit;h=8479cd0c37e5e5e207a16f21c864610103e4f20f Bug-AGL: SPEC-3453 Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org> Change-Id: Ib475331bb6f84437020728fbb3f17b4acaab0106 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24875 Reviewed-by: Scott Murray <scott.murray@konsulko.com>
Diffstat (limited to 'meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl')
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-audio-sink.endpoint10
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-audio-source.endpoint10
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-default-input-audio.endpoint-link7
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-default-output-audio.endpoint-link7
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-stream-input-audio.endpoint9
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-stream-output-audio.endpoint9
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/01-hw00-audio-sink.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/01-hw00-audio-source.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-ak4613-audio-sink.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-ak4613-audio-source.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-dra7xx-audio-sink.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-dra7xx-audio-source.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rcarsound-audio-sink.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rcarsound-audio-source.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rpi3-audio-sink.endpoint13
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/40-fiberdyne-amp.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/40-microchip-mic.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/70-usb-audio-sink.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/70-usb-audio-source.endpoint12
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-input-audio.endpoint-link11
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-output-audio.endpoint-link11
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/capture.streams3
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/playback.streams31
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/wireplumber.conf30
24 files changed, 295 insertions, 0 deletions
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-audio-sink.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-audio-sink.endpoint
new file mode 100644
index 000000000..4bc435742
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-audio-sink.endpoint
@@ -0,0 +1,10 @@
+[match-node]
+priority = 0
+properties = [
+ { name = "media.class", value = "Audio/Sink" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "sink"
+streams = "playback.streams"
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-audio-source.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-audio-source.endpoint
new file mode 100644
index 000000000..7657f6f40
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-audio-source.endpoint
@@ -0,0 +1,10 @@
+[match-node]
+priority = 0
+properties = [
+ { name = "media.class", value = "Audio/Source" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "source"
+streams = "capture.streams"
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-default-input-audio.endpoint-link b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-default-input-audio.endpoint-link
new file mode 100644
index 000000000..4b70dc89f
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-default-input-audio.endpoint-link
@@ -0,0 +1,7 @@
+[match-endpoint]
+priority = 0
+direction = "sink"
+media_class = "Stream/Input/Audio"
+
+[endpoint-link]
+keep = false
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-default-output-audio.endpoint-link b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-default-output-audio.endpoint-link
new file mode 100644
index 000000000..5d6428f94
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-default-output-audio.endpoint-link
@@ -0,0 +1,7 @@
+[match-endpoint]
+priority = 0
+direction = "source"
+media_class = "Stream/Output/Audio"
+
+[endpoint-link]
+keep = false
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-stream-input-audio.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-stream-input-audio.endpoint
new file mode 100644
index 000000000..2993f3e44
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-stream-input-audio.endpoint
@@ -0,0 +1,9 @@
+[match-node]
+priority = 0
+properties = [
+ { name = "media.class", value = "Stream/Input/Audio" },
+]
+
+[endpoint]
+direction = "sink"
+type = "pw-audio-softdsp-endpoint"
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-stream-output-audio.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-stream-output-audio.endpoint
new file mode 100644
index 000000000..1cf82ea02
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/00-stream-output-audio.endpoint
@@ -0,0 +1,9 @@
+[match-node]
+priority = 0
+properties = [
+ { name = "media.class", value = "Stream/Output/Audio" },
+]
+
+[endpoint]
+direction = "source"
+type = "pw-audio-softdsp-endpoint"
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/01-hw00-audio-sink.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/01-hw00-audio-sink.endpoint
new file mode 100644
index 000000000..85a9b5117
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/01-hw00-audio-sink.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 1
+properties = [
+ { name = "media.class", value = "Audio/Sink" },
+ { name = "api.alsa.path", value = "hw:0,0" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "sink"
+streams = "playback.streams"
+priority = 1
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/01-hw00-audio-source.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/01-hw00-audio-source.endpoint
new file mode 100644
index 000000000..c77701c0d
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/01-hw00-audio-source.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 1
+properties = [
+ { name = "media.class", value = "Audio/Source" },
+ { name = "api.alsa.path", value = "hw:0,0" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "source"
+streams = "capture.streams"
+priority = 1
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-ak4613-audio-sink.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-ak4613-audio-sink.endpoint
new file mode 100644
index 000000000..53f9d0df7
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-ak4613-audio-sink.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 30
+properties = [
+ { name = "media.class", value = "Audio/Sink" },
+ { name = "api.alsa.card.id", value = "rcarsound" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "sink"
+streams = "playback.streams"
+priority = 30
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-ak4613-audio-source.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-ak4613-audio-source.endpoint
new file mode 100644
index 000000000..d72d7e31c
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-ak4613-audio-source.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 30
+properties = [
+ { name = "media.class", value = "Audio/Source" },
+ { name = "api.alsa.card.id", value = "rcarsound" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "source"
+streams = "capture.streams"
+priority = 30
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-dra7xx-audio-sink.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-dra7xx-audio-sink.endpoint
new file mode 100644
index 000000000..becd21e2e
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-dra7xx-audio-sink.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 30
+properties = [
+ { name = "media.class", value = "Audio/Sink" },
+ { name = "api.alsa.card.id", value = "DRA7xx-EVM" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "sink"
+streams = "playback.streams"
+priority = 30
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-dra7xx-audio-source.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-dra7xx-audio-source.endpoint
new file mode 100644
index 000000000..72ef46770
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-dra7xx-audio-source.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 30
+properties = [
+ { name = "media.class", value = "Audio/Source" },
+ { name = "api.alsa.card.id", value = "DRA7xx-EVM" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "source"
+streams = "capture.streams"
+priority = 30
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rcarsound-audio-sink.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rcarsound-audio-sink.endpoint
new file mode 100644
index 000000000..53f9d0df7
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rcarsound-audio-sink.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 30
+properties = [
+ { name = "media.class", value = "Audio/Sink" },
+ { name = "api.alsa.card.id", value = "rcarsound" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "sink"
+streams = "playback.streams"
+priority = 30
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rcarsound-audio-source.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rcarsound-audio-source.endpoint
new file mode 100644
index 000000000..d72d7e31c
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rcarsound-audio-source.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 30
+properties = [
+ { name = "media.class", value = "Audio/Source" },
+ { name = "api.alsa.card.id", value = "rcarsound" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "source"
+streams = "capture.streams"
+priority = 30
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rpi3-audio-sink.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rpi3-audio-sink.endpoint
new file mode 100644
index 000000000..74e4d62e6
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/30-rpi3-audio-sink.endpoint
@@ -0,0 +1,13 @@
+[match-node]
+priority = 30
+properties = [
+ { name = "media.class", value = "Audio/Sink" },
+ { name = "api.alsa.card.name", value = "bcm2835 ALSA" },
+ { name = "api.alsa.pcm.name", value = "bcm2835 ALSA" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "sink"
+streams = "playback.streams"
+priority = 30
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/40-fiberdyne-amp.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/40-fiberdyne-amp.endpoint
new file mode 100644
index 000000000..807ad4688
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/40-fiberdyne-amp.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 40
+properties = [
+ { name = "media.class", value = "Audio/Sink" },
+ { name = "api.alsa.card.id", value = "ep016ch" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "sink"
+streams = "playback.streams"
+priority = 40
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/40-microchip-mic.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/40-microchip-mic.endpoint
new file mode 100644
index 000000000..bbfcd43a5
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/40-microchip-mic.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 40
+properties = [
+ { name = "media.class", value = "Audio/Source" },
+ { name = "api.alsa.card.id", value = "ep811ch" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "source"
+streams = "capture.streams"
+priority = 40
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/70-usb-audio-sink.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/70-usb-audio-sink.endpoint
new file mode 100644
index 000000000..62e279090
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/70-usb-audio-sink.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 70
+properties = [
+ { name = "media.class", value = "Audio/Sink" },
+ { name = "api.alsa.card.driver", value = "USB-Audio" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "sink"
+streams = "playback.streams"
+priority = 70
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/70-usb-audio-source.endpoint b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/70-usb-audio-source.endpoint
new file mode 100644
index 000000000..505ae8d81
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/70-usb-audio-source.endpoint
@@ -0,0 +1,12 @@
+[match-node]
+priority = 70
+properties = [
+ { name = "media.class", value = "Audio/Source" },
+ { name = "api.alsa.card.driver", value = "USB-Audio" },
+]
+
+[endpoint]
+type = "pw-audio-softdsp-endpoint"
+direction = "source"
+streams = "capture.streams"
+priority = 70
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-input-audio.endpoint-link b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-input-audio.endpoint-link
new file mode 100644
index 000000000..b5753a102
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-input-audio.endpoint-link
@@ -0,0 +1,11 @@
+[match-endpoint]
+priority = 75
+direction = "sink"
+name = "bluealsa*"
+media_class = "Stream/Input/Audio"
+properties = [
+ { name = "bluealsa.profile", value = "sco" },
+]
+
+[endpoint-link]
+keep = true
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-output-audio.endpoint-link b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-output-audio.endpoint-link
new file mode 100644
index 000000000..d1b3cec07
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-output-audio.endpoint-link
@@ -0,0 +1,11 @@
+[match-endpoint]
+priority = 75
+direction = "source"
+name = "bluealsa*"
+media_class = "Stream/Output/Audio"
+properties = [
+ { name = "bluealsa.profile", value = "sco" },
+]
+
+[endpoint-link]
+keep = true
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/capture.streams b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/capture.streams
new file mode 100644
index 000000000..e7ce36f6a
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/capture.streams
@@ -0,0 +1,3 @@
+[[streams]]
+name = "Default"
+priority = 25
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/playback.streams b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/playback.streams
new file mode 100644
index 000000000..c645416ad
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/playback.streams
@@ -0,0 +1,31 @@
+[[streams]]
+name = "Multimedia"
+priority = 25
+
+[[streams]]
+name = "Speech-Low"
+priority = 30
+
+[[streams]]
+name = "Custom-Low"
+priority = 35
+
+[[streams]]
+name = "Navigation"
+priority = 50
+
+[[streams]]
+name = "Speech-High"
+priority = 60
+
+[[streams]]
+name = "Custom-High"
+priority = 65
+
+[[streams]]
+name = "Communication"
+priority = 75
+
+[[streams]]
+name = "Emergency"
+priority = 99
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/wireplumber.conf b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/wireplumber.conf
new file mode 100644
index 000000000..e0975a81f
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/wireplumber.conf
@@ -0,0 +1,30 @@
+# 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