context: add library.use-fallback option

Normally, when loading a plugin feature, often a library.name property
is given as well. If the feature to load is not explicitly listed in
context.spa-libs, the library.name is used a fallback library.

Add an option to ignore this library.name and only use the
context.spa-libs entries. This makes it possible to only load explicitly
listed features in the config file and makes it possible to lock down
what plugins can be loaded.

Set the option to true by default for now, which keeps the existing
behaviour of using the fallback library. Add some more entries to the
context.spa-libs in case the option is switched off to make things
work.

Set the option to false for the minimal.conf.
This commit is contained in:
Wim Taymans 2026-05-08 09:57:52 +02:00
parent ddab12a5aa
commit b3257ae425
7 changed files with 72 additions and 17 deletions

View file

@ -288,6 +288,12 @@ Default video rate denominator
@PAR@ pipewire.conf library.name.system = support/libspa-support
The name of the shared library to use for the system functions for the main thread.
@PAR@ pipewire.conf library.use-fallback = true
When a plugin feature is not listed in context.spa-libs, a predefined fallback
plugin location is used by default. If this option is set to false, only plugin
features explicitly listed in context.spa-libs will be loadable. This can be used
to lock down what plugins that can be loaded.
@PAR@ pipewire.conf link.max-buffers = 64
The maximum number of buffers to negotiate between nodes. Note that version < 3 clients
can only support 16 buffers. More buffers is almost always worse than less, latency