mirror of
https://gitlab.freedesktop.org/pipewire/wireplumber.git
synced 2026-02-06 14:10:28 +01:00
We need to use WpSpaJson to parse the values in WpSettings. This is because the wireplumber configuration is written in JSON, so WpSettings should only hold JSON values. To fix this, 2 API changes have been done: - wp_settings_get_int() only accepts gint values, instead of gint64 values. This is because the WpSpaJson API only parses int values, like spa_json_parse_int(). - wp_settings_get_string() now returns a newly allocated string, this is because the string needs to be decoded in case it has quotes.
169 lines
4 KiB
Text
169 lines
4 KiB
Text
# Client config file for PipeWire version "0.3.48" #
|
|
#
|
|
# Copy and edit this file in /usr/local/etc/pipewire for system-wide changes
|
|
# or in ~/.config/pipewire for local changes.
|
|
#
|
|
# It is also possible to place a file with an updated section in
|
|
# /usr/local/etc/pipewire/client.conf.d/ for system-wide changes or in
|
|
# ~/.config/pipewire/client.conf.d/ for local changes.
|
|
#
|
|
context.properties = {
|
|
## Configure properties in the system.
|
|
#mem.warn-mlock = false
|
|
#mem.allow-mlock = true
|
|
#mem.mlock-all = false
|
|
log.level = 0
|
|
|
|
#default.clock.quantum-limit = 8192
|
|
}
|
|
|
|
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.
|
|
#
|
|
audio.convert.* = audioconvert/libspa-audioconvert
|
|
support.* = support/libspa-support
|
|
}
|
|
|
|
context.modules = [
|
|
#{ name = <module-name>
|
|
# [ args = { <key> = <value> ... } ]
|
|
# [ flags = [ [ ifexists ] [ nofail ] ]
|
|
#}
|
|
#
|
|
# Loads a module with the given parameters.
|
|
# 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.settings = {
|
|
test-setting1 = false
|
|
test-setting2 = true
|
|
test-setting3-int = -20
|
|
test-setting4-string = "blahblah"
|
|
test-setting5-string-with-quotes = "a string with \"quotes\""
|
|
rule_one = [
|
|
{
|
|
matches = [
|
|
{
|
|
test-string1 = "copper"
|
|
test-int1 = 100
|
|
}
|
|
{
|
|
test-string2 = "juggler"
|
|
}
|
|
]
|
|
actions = {
|
|
update-props = {
|
|
prop-string1 = "metal"
|
|
prop-int1 = 123
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
matches = [
|
|
{
|
|
test-string4 = "ferrous"
|
|
test-int2 = 100
|
|
test-string5 = "blend"
|
|
}
|
|
{
|
|
test-string6 = "alum"
|
|
test-int3 = 24
|
|
}
|
|
]
|
|
actions = {
|
|
update-props = {
|
|
prop-string2 = "standard"
|
|
prop-int2 = 26
|
|
prop-bool1 = true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
rule_two = [
|
|
{
|
|
matches = [
|
|
{
|
|
test-string6 = "ethylene"
|
|
test-int2 = 625
|
|
test-string5 = "blend"
|
|
}
|
|
]
|
|
actions = {
|
|
update-props = {
|
|
prop-string2 = "spray"
|
|
prop-int2 = 111
|
|
}
|
|
}
|
|
}
|
|
]
|
|
test-setting-float1 = 3.14
|
|
test-setting-float2 = 0.4
|
|
rule_three = [
|
|
{
|
|
matches = [
|
|
{
|
|
test.string6 = "~metal*"
|
|
test.table.entry = true
|
|
}
|
|
{
|
|
test-string6-wildcard = "~*"
|
|
}
|
|
]
|
|
actions = {
|
|
update-props = {
|
|
prop.electrical.conductivity = true
|
|
prop.state = "solid"
|
|
prop.example = "ferrous"
|
|
}
|
|
}
|
|
}
|
|
|
|
{
|
|
matches = [
|
|
{
|
|
test.string6 = "~gas*"
|
|
test.table.entry = "maybe"
|
|
}
|
|
]
|
|
actions = {
|
|
update-props = {
|
|
prop.electrical.conductivity = false
|
|
prop.example = "neon"
|
|
prop.state = "gas"
|
|
}
|
|
}
|
|
}
|
|
]
|
|
test-setting-json = [1, 2, 3]
|
|
test-setting-json2 = ["test1", "test 2", "test three", "test-four"]
|
|
}
|