137 lines
4.1 KiB
Plaintext
137 lines
4.1 KiB
Plaintext
|
# Real-time Client config file for PipeWire version "0.3.84" #
|
||
|
#
|
||
|
# Copy and edit this file in /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
|
||
|
# /etc/pipewire/client-rt.conf.d/ for system-wide changes or in
|
||
|
# ~/.config/pipewire/client-rt.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 ) ] )
|
||
|
# ( condition = [ { <key> = <value> ... } ... ] )
|
||
|
#}
|
||
|
#
|
||
|
# 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.
|
||
|
#
|
||
|
# Uses realtime scheduling to boost the audio thread priorities
|
||
|
{ name = libpipewire-module-rt
|
||
|
args = {
|
||
|
#rt.prio = 88
|
||
|
#rt.time.soft = -1
|
||
|
#rt.time.hard = -1
|
||
|
}
|
||
|
flags = [ ifexists nofail ]
|
||
|
}
|
||
|
|
||
|
# 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 }
|
||
|
]
|
||
|
|
||
|
filter.properties = {
|
||
|
#node.latency = 1024/48000
|
||
|
}
|
||
|
|
||
|
stream.properties = {
|
||
|
#node.latency = 1024/48000
|
||
|
#node.autoconnect = true
|
||
|
#resample.quality = 4
|
||
|
#channelmix.normalize = false
|
||
|
#channelmix.mix-lfe = true
|
||
|
#channelmix.upmix = true
|
||
|
#channelmix.upmix-method = psd # none, simple
|
||
|
#channelmix.lfe-cutoff = 150
|
||
|
#channelmix.fc-cutoff = 12000
|
||
|
#channelmix.rear-delay = 12.0
|
||
|
#channelmix.stereo-widen = 0.0
|
||
|
#channelmix.hilbert-taps = 0
|
||
|
#dither.noise = 0
|
||
|
}
|
||
|
|
||
|
stream.rules = [
|
||
|
{ matches = [
|
||
|
{
|
||
|
# all keys must match the value. ! negates. ~ starts regex.
|
||
|
#application.name = "pw-cat"
|
||
|
#node.name = "~Google Chrome$"
|
||
|
}
|
||
|
]
|
||
|
actions = {
|
||
|
update-props = {
|
||
|
#node.latency = 512/48000
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
]
|
||
|
|
||
|
alsa.properties = {
|
||
|
#alsa.deny = false
|
||
|
# ALSA params take a single value, an array [] of values
|
||
|
# or a range { min=.. max=... }
|
||
|
#alsa.access = [ MMAP_INTERLEAVED MMAP_NONINTERLEAVED RW_INTERLEAVED RW_NONINTERLEAVED ]
|
||
|
#alsa.format = [ FLOAT S32 S24 S24_3 S16 U8 ]
|
||
|
#alsa.rate = { min=1 max=384000 } # or [ 44100 48000 .. ]
|
||
|
#alsa.channels = { min=1 max=64 } # or [ 2 4 6 .. ]
|
||
|
#alsa.period-bytes = { min=128 max=2097152 } # or [ 128 256 1024 .. ]
|
||
|
#alsa.buffer-bytes = { min=256 max=4194304 } # or [ 256 512 4096 .. ]
|
||
|
|
||
|
#alsa.volume-method = cubic # linear, cubic
|
||
|
}
|
||
|
|
||
|
# client specific properties
|
||
|
alsa.rules = [
|
||
|
{ matches = [ { application.process.binary = "resolve" } ]
|
||
|
actions = {
|
||
|
update-props = {
|
||
|
alsa.buffer-bytes = 131072
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
]
|