meta-agl: split wireplumber to run in multiple instances
[AGL/meta-agl.git] / meta-pipewire / recipes-multimedia / wireplumber / wireplumber-config-agl / policy.conf
1 # WirePlumber daemon context configuration #
2
3 context.properties = {
4   ## Properties to configure the PipeWire context and some modules
5
6   application.name = "WirePlumber Policy"
7   log.level = 2
8   wireplumber.script-engine = lua-scripting
9   wireplumber.export-core = false
10
11   #mem.mlock-all = false
12   #support.dbus  = true
13 }
14
15 context.spa-libs = {
16   #<factory-name regex> = <library-name>
17   #
18   # Used to find spa factory names. It maps an spa factory name
19   # regular expression to a library name that should contain
20   # that factory.
21   #
22   audio.convert.* = audioconvert/libspa-audioconvert
23   support.*       = support/libspa-support
24 }
25
26 context.modules = [
27   #{   name = <module-name>
28   #    [ args = { <key> = <value> ... } ]
29   #    [ flags = [ [ ifexists ] [ nofail ] ]
30   #}
31   #
32   # PipeWire modules to load.
33   # If ifexists is given, the module is ignored when it is not found.
34   # If nofail is given, module initialization failures are ignored.
35   #
36
37   # The native communication protocol.
38   { name = libpipewire-module-protocol-native }
39
40   # Allows creating nodes that run in the context of the
41   # client. Is used by all clients that want to provide
42   # data to PipeWire.
43   { name = libpipewire-module-client-node }
44
45   # Allows creating devices that run in the context of the
46   # client. Is used by the session manager.
47   { name = libpipewire-module-client-device }
48
49   # Makes a factory for wrapping nodes in an adapter with a
50   # converter and resampler.
51   { name = libpipewire-module-adapter }
52
53   # Allows applications to create metadata objects. It creates
54   # a factory for Metadata objects.
55   { name = libpipewire-module-metadata }
56
57   # Provides factories to make session manager objects.
58   { name = libpipewire-module-session-manager }
59 ]
60
61 wireplumber.components = [
62   #{ name = <component-name>, type = <component-type> }
63   #
64   # WirePlumber components to load
65   #
66
67   # The lua scripting engine
68   { name = libwireplumber-module-lua-scripting, type = module }
69
70   # The lua configuration file
71   # Other components are loaded from there
72   { name = policy.lua, type = config/lua }
73 ]