diff --git a/src/config/config.lua b/src/config/config.lua index 7d6addc2..bd857a3e 100644 --- a/src/config/config.lua +++ b/src/config/config.lua @@ -38,17 +38,6 @@ function load_access(s, a) load_script("access/access-" .. s .. ".lua", a) end --- Session item factories, building blocks for the session management graph --- Do not disable these unless you really know what you are doing -load_module("si-adapter") -load_module("si-audio-softdsp-endpoint") -load_module("si-bluez5-endpoint") -load_module("si-convert") -load_module("si-fake-stream") -load_module("si-monitor-endpoint") -load_module("si-simple-node-endpoint") -load_module("si-standard-link") - -- Additional PipeWire modules can be loaded in WirePlumber like this. -- libpipewire already loads all the modules that we normally need, though. -- module-spa-node-factory may be needed if you want to use a monitor with @@ -85,14 +74,4 @@ function enable_audio() load_module("metadata") end -function enable_endpoints() - load_script("static-sessions.lua", { - ["audio"] = {}, - ["video"] = {}, - }) - load_script("create-endpoint.lua") - load_script("policy-endpoint.lua") -end - enable_access() -enable_endpoints() diff --git a/src/config/config.lua.d/10-endpoint-support.lua b/src/config/config.lua.d/10-endpoint-support.lua new file mode 100644 index 00000000..84c5c3e3 --- /dev/null +++ b/src/config/config.lua.d/10-endpoint-support.lua @@ -0,0 +1,31 @@ +-- Endpoint support config file -- + +endpoint_support = {} + +endpoint_support.sessions = { + -- [session name] = { session properties } + ["audio"] = {}, + ["video"] = {}, +} + +function endpoint_support.enable() + -- Session item factories, building blocks for the session management graph + -- Do not disable these unless you really know what you are doing + load_module("si-adapter") + load_module("si-audio-softdsp-endpoint") + load_module("si-bluez5-endpoint") + load_module("si-convert") + load_module("si-fake-stream") + load_module("si-monitor-endpoint") + load_module("si-simple-node-endpoint") + load_module("si-standard-link") + + -- Create sessions statically at startup + load_script("static-sessions.lua", endpoint_support.sessions) + + -- Create endpoints for nodes that appear in the graph + load_script("create-endpoint.lua") + + -- Link endpoints to each other to make media flow in the graph + load_script("policy-endpoint.lua") +end diff --git a/src/config/config.lua.d/90-enable-endpoints.lua b/src/config/config.lua.d/90-enable-endpoints.lua new file mode 100644 index 00000000..d7043f8e --- /dev/null +++ b/src/config/config.lua.d/90-enable-endpoints.lua @@ -0,0 +1 @@ +endpoint_support.enable()