diff options
author | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2019-12-05 17:08:12 +0200 |
---|---|---|
committer | George Kiagiadakis <george.kiagiadakis@collabora.com> | 2019-12-05 18:42:36 +0200 |
commit | e4c7027b142672964fdbf788a7495a39a1f46d5f (patch) | |
tree | b5389d5c9b39d54304cc84f975365809cecd7917 /meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl | |
parent | ab9070a7b8cf2dcbfbf56ec4f24f77ea6e5f927c (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.in | 16 | ||||
-rw-r--r-- | meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/bluealsa-output-audio.endpoint-link.in | 16 | ||||
-rw-r--r-- | meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default-input-audio.endpoint-link.in | 14 | ||||
-rw-r--r-- | meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default-output-audio.endpoint-link.in | 14 | ||||
-rw-r--r-- | meta-pipewire/recipes-multimedia/wireplumber/wireplumber-board-config-agl/default.streams | 31 | ||||
-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 |