aboutsummaryrefslogtreecommitdiffstats
path: root/meta-pipewire/recipes-multimedia/wireplumber
diff options
context:
space:
mode:
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2021-06-11 11:33:59 +0300
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2021-06-21 13:52:03 +0000
commite17ac0809da83b63f7242b6ad91c00e377c7f96e (patch)
tree7efa18fe863e6e9c1b97afaf0c72d705a0da7c62 /meta-pipewire/recipes-multimedia/wireplumber
parent63a4f7d56af11891aa8ce6a2d0171e3727aaa7be (diff)
pipewire: update to pw 0.3.30 and wp 0.4.0
* The pipewire recipe has been synced with the upstream yocto one * WirePlumber configuration now has volume ducking enabled for navigation messages. This means that music will now duck when a navigation message plays instead of being corked. * PipeWire's default configuration now lives in /usr/share/pipewire, with the possibility to override it in /etc/pipewire. This allows resetting to upstream defaults by removing /etc/pipewire v2: add licenses to the layer to match the upstream recipe, adapt licenses of sub-packages v3: mark each package with the desired license instead of the mix v4: simplify the license output of the sub-packages Bug-AGL: SPEC-3844 Change-Id: I7a15ddb503d5b064f244c8a42a1aafb4caa1d46a Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26426 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
Diffstat (limited to 'meta-pipewire/recipes-multimedia/wireplumber')
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/00-spa-libs.lua10
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/10-default-policy.lua18
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/99-load-modules.lua7
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf2
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl_git.bb2
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb5
6 files changed, 18 insertions, 26 deletions
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/00-spa-libs.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/00-spa-libs.lua
deleted file mode 100644
index f284b92e7..000000000
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/00-spa-libs.lua
+++ /dev/null
@@ -1,10 +0,0 @@
--- ["<factory-name regex>"] = "<library-name>"
---
--- used to find spa factory names. It maps a spa factory name
--- regular expression to a library name that should contain that factory.
---
-spa_libs = {
- ["api.alsa.*"] = "alsa/libspa-alsa",
- ["api.v4l2.*"] = "v4l2/libspa-v4l2",
- ["api.bluez5.*"] = "bluez5/libspa-bluez5",
-}
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/10-default-policy.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/10-default-policy.lua
index 3c04652f0..f71b31316 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/10-default-policy.lua
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/10-default-policy.lua
@@ -2,12 +2,6 @@
default_policy = {}
-default_policy.sessions = {
- -- [session name] = { session properties }
- ["audio"] = { ["media.type"] = "Audio" },
- --["video"] = { ["media.type"] = "Video" },
-}
-
default_policy.endpoints = {
-- [endpoint name] = { endpoint properties }
@@ -49,6 +43,10 @@ default_policy.policy = {
["move"] = false, -- moves session items when metadata target.node changes
["follow"] = true, -- moves session items to the default device when it has changed
+ -- how much to lower the volume of lower priority streams when ducking
+ -- note that this is a linear volume modifier (not cubic as in the mixer)
+ ["duck.level"] = 0.2,
+
["roles"] = {
["Multimedia"] = {
["alias"] = { "Movie", "Music", "Game" },
@@ -67,7 +65,7 @@ default_policy.policy = {
},
["Navigation"] = {
["priority"] = 50,
- ["action.default"] = "cork",
+ ["action.default"] = "duck",
["action.Navigation"] = "mix",
},
["Speech-High"] = {
@@ -102,9 +100,11 @@ function default_policy.enable()
load_module("si-standard-link")
load_module("si-audio-endpoint")
- -- Create sessions statically at startup
- load_script("static-sessions.lua", default_policy.sessions)
+ -- API to access default nodes from scripts
+ load_module("default-nodes-api")
+ -- API to access mixer controls, needed for volume ducking
+ load_module("mixer-api")
-- Create endpoints statically at startup
load_script("static-endpoints.lua", default_policy.endpoints)
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/99-load-modules.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/99-load-modules.lua
index 3e2c28a3a..70251aebe 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/99-load-modules.lua
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/99-load-modules.lua
@@ -13,7 +13,12 @@ load_module("default-nodes", {
-- do not store runtime user changes in $HOME
["use-persistent-storage"] = false,
})
-load_module("default-nodes-api")
+
+-- Selects default routes on devices that advertise routes
+load_script("default-routes.lua", {
+ -- do not store runtime user changes in $HOME
+ ["use-persistent-storage"] = false,
+})
-- Automatically suspends idle nodes after 3 seconds
load_script("suspend-node.lua")
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf
index 6f9b0b186..530393e23 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf
@@ -3,7 +3,7 @@
context.properties = {
## Properties to configure the PipeWire context and some modules
- # 1=error/critical, 2=warning, 3=info, 4=debug, 5=trace
+ # 1=error/critical/warning, 2=message, 3=info, 4=debug, 5=trace
log.level = 2
wireplumber.script-engine = lua-scripting
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl_git.bb b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl_git.bb
index 86d77257d..2d70fc5e1 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl_git.bb
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl_git.bb
@@ -7,7 +7,6 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRC_URI = "\
file://00-functions.lua \
- file://00-spa-libs.lua \
file://10-default-policy.lua \
file://30-alsa-monitor.lua \
file://30-bluez-monitor.lua \
@@ -25,7 +24,6 @@ do_install_append() {
install -d ${config_dir}
install -m 0644 ${WORKDIR}/00-functions.lua ${config_dir}
- install -m 0644 ${WORKDIR}/00-spa-libs.lua ${config_dir}
install -m 0644 ${WORKDIR}/10-default-policy.lua ${config_dir}
install -m 0644 ${WORKDIR}/30-alsa-monitor.lua ${config_dir}
install -m 0644 ${WORKDIR}/30-bluez-monitor.lua ${config_dir}
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb
index 56065db48..8daff3042 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb
@@ -14,10 +14,9 @@ DEPENDS = "glib-2.0 glib-2.0-native pipewire lua"
SRC_URI = "\
git://gitlab.freedesktop.org/pipewire/wireplumber.git;protocol=https;branch=master \
"
-SRCREV = "ecef960b7859b9b24885840453a3ddf4812845f2"
+SRCREV = "4af7e2bd68c4862bb707b62edf7557df56dad10f"
-#PV = "0.3.95+git${SRCPV}"
-PV = "0.3.95"
+PV = "0.4.0"
S = "${WORKDIR}/git"
WPAPI="0.4"