summaryrefslogtreecommitdiffstats
path: root/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl
diff options
context:
space:
mode:
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2019-12-05 17:08:12 +0200
committerGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2019-12-05 18:42:36 +0200
commite4c7027b142672964fdbf788a7495a39a1f46d5f (patch)
treeb5389d5c9b39d54304cc84f975365809cecd7917 /meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl
parentab9070a7b8cf2dcbfbf56ec4f24f77ea6e5f927c (diff)
wireplumber: update to master as of Dec 5th 2019
This update introduces a new TOML configuration file based policy engine, which behaves the same as the previous static engine, except that we now can: * link different apps to different devices * finetune how the device is configured with a lot of properties that we can match against * force a specific role to a specific app, by overriding it in the configuration file * make a specific app remain linked to the output even if another app comes in to play something; this is useful for the bluez-alsa gstreamer helper at this moment In addition, the code is cleaner and easier to work with, and we can easily add more properties to force a specific behavior per app. Bug-AGL: SPEC-2837 Change-Id: If0ecd468592b78cb2f2a5a8c3db16f655e4927f9 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.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/bluealsa-input-audio.endpoint-link.in16
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-output-audio.endpoint-link.in16
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default-input-audio.endpoint-link.in14
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default-output-audio.endpoint-link.in14
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default.streams31
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/wireplumber.conf (renamed from meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/wireplumber.conf.in)23
6 files changed, 93 insertions, 21 deletions
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-input-audio.endpoint-link.in b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-input-audio.endpoint-link.in
new file mode 100644
index 00000000..818ac6b4
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-input-audio.endpoint-link.in
@@ -0,0 +1,16 @@
+[match-endpoint]
+priority = 75
+direction = "input"
+name = "bluealsa*"
+media_class = "Stream/Input/Audio"
+
+[target-endpoint]
+media_class = "Audio/Source"
+streams = "default.streams"
+stream = "Multimedia"
+properties = [
+ CAPTURE_DEV_PROPERTIES
+]
+
+[endpoint-link]
+keep = true
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-output-audio.endpoint-link.in b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-output-audio.endpoint-link.in
new file mode 100644
index 00000000..1ba7afed
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-output-audio.endpoint-link.in
@@ -0,0 +1,16 @@
+[match-endpoint]
+priority = 75
+direction = "output"
+name = "bluealsa*"
+media_class = "Stream/Output/Audio"
+
+[target-endpoint]
+media_class = "Audio/Sink"
+streams = "default.streams"
+stream = "Multimedia"
+properties = [
+ PLAYBACK_DEV_PROPERTIES
+]
+
+[endpoint-link]
+keep = true
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default-input-audio.endpoint-link.in b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default-input-audio.endpoint-link.in
new file mode 100644
index 00000000..adb142c1
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default-input-audio.endpoint-link.in
@@ -0,0 +1,14 @@
+[match-endpoint]
+priority = 50
+direction = "input"
+media_class = "Stream/Input/Audio"
+
+[target-endpoint]
+media_class = "Audio/Source"
+streams = "default.streams"
+properties = [
+ CAPTURE_DEV_PROPERTIES
+]
+
+[endpoint-link]
+keep = false
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default-output-audio.endpoint-link.in b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default-output-audio.endpoint-link.in
new file mode 100644
index 00000000..16af9155
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default-output-audio.endpoint-link.in
@@ -0,0 +1,14 @@
+[match-endpoint]
+priority = 50
+direction = "output"
+media_class = "Stream/Output/Audio"
+
+[target-endpoint]
+media_class = "Audio/Sink"
+streams = "default.streams"
+properties = [
+ PLAYBACK_DEV_PROPERTIES
+]
+
+[endpoint-link]
+keep = false
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default.streams b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default.streams
new file mode 100644
index 00000000..c645416a
--- /dev/null
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default.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.in b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/wireplumber.conf
index 857c933f..27988197 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/wireplumber.conf.in
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/wireplumber.conf
@@ -33,24 +33,5 @@ load-module C libwireplumber-module-pw-alsa-udev {
# and creates simple-endpoints for each one of them
load-module C libwireplumber-module-pw-audio-client
-# Implements linking clients to devices and maintains
-# information about the devices to be used.
-# Notes:
-# - Devices must be specified in hw:X,Y format, where X and Y are integers.
-# Things like hw:Intel,0 or paths are not understood.
-# - Roles and priorities can be arbitrary strings and arbitrary numbers
-# - Roles are matched against the stream names specified in the modules above.
-load-module C libwireplumber-module-simple-policy {
- "default-playback-device": <"PLAYBACK">,
- "default-capture-device": <"CAPTURE">,
- "role-priorities": <{
- "Multimedia": 1,
- "Speech-Low": 2,
- "Custom-Low": 3,
- "Navigation": 5,
- "Speech-High:": 7,
- "Custom-High": 8,
- "Communication": 9,
- "Emergency": 10
- }>
-}
+# Implements linking clients to devices based on TOML configuration files
+load-module C libwireplumber-module-config-policy