summaryrefslogtreecommitdiffstats
path: root/meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber
diff options
context:
space:
mode:
authorGeorge Kiagiadakis <george.kiagiadakis@collabora.com>2021-02-11 14:13:55 +0200
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2021-05-26 19:50:23 +0000
commitfc722f8aea13246ce7779acbb3a59681b64131a6 (patch)
treef0ca74bffa3ed887affd3731bf1e57f6ceca614e /meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber
parentb81c6beb388cafa6de9ca1baa13c3d529ca2f2d8 (diff)
meta-pipewire: backport pipewire updates from master
Bug-AGL: SPEC-3844 Bug-AGL: SPEC-3900 Bug-AGL: SPEC-3909 Signed-off-by: George Kiagiadakis <george.kiagiadakis@collabora.com> Change-Id: I3c32d0083f31f94b49e33c3dd546515d39df7867 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26360 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber')
-rw-r--r--meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl/50-access-agl.lua1
-rw-r--r--meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl/access-smack.lua17
-rw-r--r--meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl_git.bbappend15
3 files changed, 33 insertions, 0 deletions
diff --git a/meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl/50-access-agl.lua b/meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl/50-access-agl.lua
new file mode 100644
index 000000000..10b3d7ae3
--- /dev/null
+++ b/meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl/50-access-agl.lua
@@ -0,0 +1 @@
+load_access("smack")
diff --git a/meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl/access-smack.lua b/meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl/access-smack.lua
new file mode 100644
index 000000000..a662a0f20
--- /dev/null
+++ b/meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl/access-smack.lua
@@ -0,0 +1,17 @@
+clients_om = ObjectManager {
+ Interest {
+ type = "client",
+ Constraint { "pipewire.access", "=", "restricted" },
+ }
+}
+
+clients_om:connect("object-added", function (om, client)
+ local smack_label = client["global-properties"]["pipewire.sec.label"]
+
+ if smack_label:match("^User::App::.+") then
+ -- FIXME: apps can work with less permissions
+ client:update_permissions { ["any"] = "all" }
+ end
+end)
+
+clients_om:activate()
diff --git a/meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl_git.bbappend b/meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl_git.bbappend
new file mode 100644
index 000000000..e94f67eff
--- /dev/null
+++ b/meta-pipewire/dynamic-layers/meta-app-framework/recipes-multimedia/wireplumber/wireplumber-config-agl_git.bbappend
@@ -0,0 +1,15 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/wireplumber-config-agl:"
+
+SRC_URI += "\
+ file://50-access-agl.lua \
+ file://access-smack.lua \
+"
+
+do_install_append() {
+ # install smack-specific config
+ config_dir="${D}${sysconfdir}/wireplumber/config.lua.d/"
+ access_dir="${D}${sysconfdir}/wireplumber/scripts/access/"
+ mkdir -p ${access_dir}
+ install -m 0644 ${WORKDIR}/50-access-agl.lua ${config_dir}
+ install -m 0644 ${WORKDIR}/access-smack.lua ${access_dir}
+}