From c00a7069987a815707fad4aeea5cdbbe0f8afebb Mon Sep 17 00:00:00 2001 From: George Kiagiadakis Date: Wed, 3 Feb 2021 12:47:14 +0200 Subject: [PATCH] scripts: add static-sessions.lua Replaces the old create-session wireplumber.conf commands --- src/config/config.lua | 8 ++++++-- src/scripts/static-sessions.lua | 29 +++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 src/scripts/static-sessions.lua diff --git a/src/config/config.lua b/src/config/config.lua index caae4eb5..53b3ae83 100644 --- a/src/config/config.lua +++ b/src/config/config.lua @@ -24,9 +24,9 @@ function load_pw_module(m) end end -function load_script(s) +function load_script(s, a) if not components[s] then - components[s] = { s, type = "script/lua" } + components[s] = { s, type = "script/lua", args = a } end end @@ -88,6 +88,10 @@ function enable_bluetooth() end function enable_endpoints() + load_script("static-sessions.lua", { + ["audio"] = {}, + ["video"] = {}, + }) load_script("create-endpoint.lua") load_script("policy-endpoint.lua") end diff --git a/src/scripts/static-sessions.lua b/src/scripts/static-sessions.lua new file mode 100644 index 00000000..a9f60abf --- /dev/null +++ b/src/scripts/static-sessions.lua @@ -0,0 +1,29 @@ +-- WirePlumber +-- +-- Copyright © 2021 Collabora Ltd. +-- @author George Kiagiadakis +-- +-- SPDX-License-Identifier: MIT + +-- Receive script arguments from config.lua +local sessions_config = ... + +if sessions_config then + sessions = {} + + for k, v in pairs(sessions_config) do + Log.info("Creating session: " .. k) + + sessions[k] = ImplSession() + + if type(v) == "table" then + v["session.name"] = k + sessions[k]:update_properties(v) + else + sessions[k]:update_properties({ + ["session.name"] = k + }) + end + sessions[k]:activate() + end +end