meta-pipewire: backport pipewire updates from master
[AGL/meta-agl.git] / meta-pipewire / dynamic-layers / meta-app-framework / recipes-multimedia / wireplumber / wireplumber-config-agl / access-smack.lua
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 (file)
index 0000000..a662a0f
--- /dev/null
@@ -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()