meta-pipewire: backport pipewire updates from master
[AGL/meta-agl.git] / meta-pipewire / recipes-multimedia / wireplumber / wireplumber-config-agl / wireplumber.conf
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf
new file mode 100644 (file)
index 0000000..6f9b0b1
--- /dev/null
@@ -0,0 +1,74 @@
+# WirePlumber daemon context configuration #
+
+context.properties = {
+  ## Properties to configure the PipeWire context and some modules
+
+  # 1=error/critical, 2=warning, 3=info, 4=debug, 5=trace
+  log.level = 2
+
+  wireplumber.script-engine = lua-scripting
+}
+
+context.spa-libs = {
+  #<factory-name regex> = <library-name>
+  #
+  # Used to find spa factory names. It maps an spa factory name
+  # regular expression to a library name that should contain
+  # that factory.
+  #
+  api.alsa.*      = alsa/libspa-alsa
+  api.bluez5.*    = bluez5/libspa-bluez5
+  api.v4l2.*      = v4l2/libspa-v4l2
+  api.libcamera.* = libcamera/libspa-libcamera
+  audio.convert.* = audioconvert/libspa-audioconvert
+  support.*       = support/libspa-support
+}
+
+context.modules = [
+  #{   name = <module-name>
+  #    [ args = { <key> = <value> ... } ]
+  #    [ flags = [ [ ifexists ] [ nofail ] ]
+  #}
+  #
+  # PipeWire modules to load.
+  # If ifexists is given, the module is ignored when it is not found.
+  # If nofail is given, module initialization failures are ignored.
+  #
+
+  # The native communication protocol.
+  { name = libpipewire-module-protocol-native }
+
+  # Allows creating nodes that run in the context of the
+  # client. Is used by all clients that want to provide
+  # data to PipeWire.
+  { name = libpipewire-module-client-node }
+
+  # Allows creating devices that run in the context of the
+  # client. Is used by the session manager.
+  { name = libpipewire-module-client-device }
+
+  # Makes a factory for wrapping nodes in an adapter with a
+  # converter and resampler.
+  { name = libpipewire-module-adapter }
+
+  # Allows applications to create metadata objects. It creates
+  # a factory for Metadata objects.
+  { name = libpipewire-module-metadata }
+
+  # Provides factories to make session manager objects.
+  { name = libpipewire-module-session-manager }
+]
+
+wireplumber.components = [
+  #{ name = <component-name>, type = <component-type> }
+  #
+  # WirePlumber components to load
+  #
+
+  # The lua scripting engine
+  { name = libwireplumber-module-lua-scripting, type = module }
+
+  # The lua configuration file(s)
+  # Other components are loaded from there
+  { name = config.lua, type = config/lua }
+]