diff options
author | Scott Murray <scott.murray@konsulko.com> | 2021-08-24 09:57:08 -0400 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2021-08-25 12:50:36 +0000 |
commit | 502057487cf7346e136e058880a33ac298facb19 (patch) | |
tree | 387230ed28049327c097df986a90a06d9f8f7858 /meta-pipewire/recipes-multimedia/wireplumber | |
parent | 61d41b58d300f2f9b8985361f93e698aa8888a65 (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
Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com>
[manual backport of e17ac08 from master/lamprey]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Ibf72ed9536706e940abcaa08be92f19617f1ab1f
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26569
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-pipewire/recipes-multimedia/wireplumber')
7 files changed, 18 insertions, 36 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/30-alsa-monitor.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/30-alsa-monitor.lua index fd6b7ecb5..75a169675 100644 --- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/30-alsa-monitor.lua +++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/30-alsa-monitor.lua @@ -63,11 +63,6 @@ alsa_monitor.rules = { { "api.alsa.pcm.device", "=", "0" }, }, { - -- dra7xx - { "node.name", "matches", "alsa_output.*" }, - { "api.alsa.card.id", "=", "DRA7xx-EVM" }, - }, - { -- imx8mq { "node.name", "matches", "alsa_output.*" }, { "api.alsa.card.id", "=", "wm8524audio" }, @@ -131,11 +126,6 @@ alsa_monitor.rules = { { "api.alsa.card.id", "=", "ak4613" }, }, { - -- dra7xx - { "node.name", "matches", "alsa_input.*" }, - { "api.alsa.card.id", "=", "DRA7xx-EVM" }, - }, - { -- imx8mq { "node.name", "matches", "alsa_input.*" }, { "api.alsa.card.id", "=", "wm8524audio" }, 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" |