mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
filter-chain: add filter-chain.conf
Make a new filter-chain.conf file that contains the boilerplate for filters. Suggest that the example filter-chain fragments be copied to the filter-chain.conf.d/ directory and that filters be run from this config.
This commit is contained in:
parent
8fe83e5304
commit
6baf2ede50
11 changed files with 85 additions and 175 deletions
62
src/daemon/filter-chain.conf.in
Normal file
62
src/daemon/filter-chain.conf.in
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
# Filter-chain config file for PipeWire version @VERSION@ #
|
||||
#
|
||||
# This is a base config file for running filters.
|
||||
#
|
||||
# Place filter fragments in @PIPEWIRE_CONFIG_DIR@/filter-chain.conf.d/
|
||||
# for system-wide changes or in ~/.config/pipewire/filter-chain.conf.d/
|
||||
# for local changes.
|
||||
#
|
||||
# Run the filters with pipewire -c filter-chain.conf
|
||||
#
|
||||
|
||||
context.properties = {
|
||||
## Configure properties in the system.
|
||||
#mem.warn-mlock = false
|
||||
#mem.allow-mlock = true
|
||||
#mem.mlock-all = false
|
||||
log.level = 0
|
||||
}
|
||||
|
||||
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.
|
||||
#
|
||||
# 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 }
|
||||
|
||||
# Makes a factory for wrapping nodes in an adapter with a
|
||||
# converter and resampler.
|
||||
{ name = libpipewire-module-adapter }
|
||||
]
|
||||
|
|
@ -1,46 +1,9 @@
|
|||
# filter-chain example config file for PipeWire version @VERSION@ #
|
||||
context.properties = {
|
||||
## Configure properties in the system.
|
||||
#mem.warn-mlock = false
|
||||
#mem.allow-mlock = true
|
||||
#mem.mlock-all = false
|
||||
log.level = 0
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
#
|
||||
# Copy this file into a conf.d/ directory such as
|
||||
# ~/.config/pipewire/filter-chain.conf.d/
|
||||
#
|
||||
context.modules = [
|
||||
# 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 }
|
||||
|
||||
# Makes a factory for wrapping nodes in an adapter with a
|
||||
# converter and resampler.
|
||||
{ name = libpipewire-module-adapter }
|
||||
|
||||
{ name = libpipewire-module-filter-chain
|
||||
args = {
|
||||
#audio.format = F32
|
||||
|
|
|
|||
|
|
@ -1,29 +1,9 @@
|
|||
# Dolby Surround encoder sink
|
||||
#
|
||||
# start with pipewire -c filter-chain/sink-dolby-surround.conf
|
||||
# Copy this file into a conf.d/ directory such as
|
||||
# ~/.config/pipewire/filter-chain.conf.d/
|
||||
#
|
||||
context.properties = {
|
||||
log.level = 0
|
||||
}
|
||||
|
||||
context.spa-libs = {
|
||||
audio.convert.* = audioconvert/libspa-audioconvert
|
||||
support.* = support/libspa-support
|
||||
}
|
||||
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-rt
|
||||
args = {
|
||||
#rt.prio = 88
|
||||
#rt.time.soft = -1
|
||||
#rt.time.hard = -1
|
||||
}
|
||||
flags = [ ifexists nofail ]
|
||||
}
|
||||
{ name = libpipewire-module-protocol-native }
|
||||
{ name = libpipewire-module-client-node }
|
||||
{ name = libpipewire-module-adapter }
|
||||
|
||||
{ name = libpipewire-module-filter-chain
|
||||
args = {
|
||||
node.description = "Dolby Surround Sink"
|
||||
|
|
|
|||
|
|
@ -1,29 +1,9 @@
|
|||
# 6 band sink equalizer
|
||||
#
|
||||
# start with pipewire -c filter-chain/sink-eq6.conf
|
||||
# Copy this file into a conf.d/ directory such as
|
||||
# ~/.config/pipewire/filter-chain.conf.d/
|
||||
#
|
||||
context.properties = {
|
||||
log.level = 0
|
||||
}
|
||||
|
||||
context.spa-libs = {
|
||||
audio.convert.* = audioconvert/libspa-audioconvert
|
||||
support.* = support/libspa-support
|
||||
}
|
||||
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-rt
|
||||
args = {
|
||||
#rt.prio = 88
|
||||
#rt.time.soft = -1
|
||||
#rt.time.hard = -1
|
||||
}
|
||||
flags = [ ifexists nofail ]
|
||||
}
|
||||
{ name = libpipewire-module-protocol-native }
|
||||
{ name = libpipewire-module-client-node }
|
||||
{ name = libpipewire-module-adapter }
|
||||
|
||||
{ name = libpipewire-module-filter-chain
|
||||
args = {
|
||||
node.description = "Equalizer Sink"
|
||||
|
|
|
|||
|
|
@ -1,30 +1,12 @@
|
|||
# Matrix Spatialiser sink
|
||||
#
|
||||
# start with pipewire -c filter-chain/sink-matrix-spatialiser.conf
|
||||
# Copy this file into a conf.d/ directory such as
|
||||
# ~/.config/pipewire/filter-chain.conf.d/
|
||||
#
|
||||
# ( Jean-Philippe Guillemin <hyp3ri0n@sfr.fr> )
|
||||
|
||||
context.properties = {
|
||||
log.level = 0
|
||||
}
|
||||
|
||||
context.spa-libs = {
|
||||
audio.convert.* = audioconvert/libspa-audioconvert
|
||||
support.* = support/libspa-support
|
||||
}
|
||||
#
|
||||
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-rt
|
||||
args = {
|
||||
#rt.prio = 88
|
||||
#rt.time.soft = -1
|
||||
#rt.time.hard = -1
|
||||
}
|
||||
flags = [ ifexists nofail ]
|
||||
}
|
||||
{ name = libpipewire-module-protocol-native }
|
||||
{ name = libpipewire-module-client-node }
|
||||
{ name = libpipewire-module-adapter }
|
||||
|
||||
{ name = libpipewire-module-filter-chain
|
||||
args = {
|
||||
node.description = "Matrix Spatialiser"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
# An example filter chain that makes a stereo sink that mixes
|
||||
# the FL and FR channels to a single FL channel
|
||||
#
|
||||
# Copy this file into a conf.d/ directory
|
||||
# Copy this file into a conf.d/ directory such as
|
||||
# ~/.config/pipewire/filter-chain.conf.d/
|
||||
#
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-filter-chain
|
||||
|
|
|
|||
|
|
@ -1,29 +1,9 @@
|
|||
# Convolver sink
|
||||
#
|
||||
# start with pipewire -c filter-chain/sink-virtual-surround-5.1-kemar.conf
|
||||
# Copy this file into a conf.d/ directory such as
|
||||
# ~/.config/pipewire/filter-chain.conf.d/
|
||||
#
|
||||
context.properties = {
|
||||
log.level = 0
|
||||
}
|
||||
|
||||
context.spa-libs = {
|
||||
audio.convert.* = audioconvert/libspa-audioconvert
|
||||
support.* = support/libspa-support
|
||||
}
|
||||
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-rt
|
||||
args = {
|
||||
#rt.prio = 88
|
||||
#rt.time.soft = -1
|
||||
#rt.time.hard = -1
|
||||
}
|
||||
flags = [ ifexists nofail ]
|
||||
}
|
||||
{ name = libpipewire-module-protocol-native }
|
||||
{ name = libpipewire-module-client-node }
|
||||
{ name = libpipewire-module-adapter }
|
||||
|
||||
{ name = libpipewire-module-filter-chain
|
||||
args = {
|
||||
node.description = "Virtual Surround Sink"
|
||||
|
|
|
|||
|
|
@ -1,29 +1,9 @@
|
|||
# Convolver sink
|
||||
#
|
||||
# start with pipewire -c filter-chain/sink-virtual-surround-7.1-hesuvi.conf
|
||||
# Copy this file into a conf.d/ directory such as
|
||||
# ~/.config/pipewire/filter-chain.conf.d/
|
||||
#
|
||||
context.properties = {
|
||||
log.level = 0
|
||||
}
|
||||
|
||||
context.spa-libs = {
|
||||
audio.convert.* = audioconvert/libspa-audioconvert
|
||||
support.* = support/libspa-support
|
||||
}
|
||||
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-rt
|
||||
args = {
|
||||
#rt.prio = 88
|
||||
#rt.time.soft = -1
|
||||
#rt.time.hard = -1
|
||||
}
|
||||
flags = [ ifexists nofail ]
|
||||
}
|
||||
{ name = libpipewire-module-protocol-native }
|
||||
{ name = libpipewire-module-client-node }
|
||||
{ name = libpipewire-module-adapter }
|
||||
|
||||
{ name = libpipewire-module-filter-chain
|
||||
args = {
|
||||
node.description = "Virtual Surround Sink"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
# An example filter chain that makes a source that duplicates the FL channel
|
||||
# to FL and FR.
|
||||
#
|
||||
# Copy this file into a conf.d/ directory
|
||||
# Copy this file into a conf.d/ directory such as
|
||||
# ~/.config/pipewire/filter-chain.conf.d/
|
||||
#
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-filter-chain
|
||||
|
|
|
|||
|
|
@ -1,29 +1,9 @@
|
|||
# Noise canceling source
|
||||
#
|
||||
# start with pipewire -c filter-chain/source-rnnoise.conf
|
||||
# Copy this file into a conf.d/ directory such as
|
||||
# ~/.config/pipewire/filter-chain.conf.d/
|
||||
#
|
||||
context.properties = {
|
||||
log.level = 0
|
||||
}
|
||||
|
||||
context.spa-libs = {
|
||||
audio.convert.* = audioconvert/libspa-audioconvert
|
||||
support.* = support/libspa-support
|
||||
}
|
||||
|
||||
context.modules = [
|
||||
{ name = libpipewire-module-rt
|
||||
args = {
|
||||
#rt.prio = 88
|
||||
#rt.time.soft = -1
|
||||
#rt.time.hard = -1
|
||||
}
|
||||
flags = [ ifexists nofail ]
|
||||
}
|
||||
{ name = libpipewire-module-protocol-native }
|
||||
{ name = libpipewire-module-client-node }
|
||||
{ name = libpipewire-module-adapter }
|
||||
|
||||
{ name = libpipewire-module-filter-chain
|
||||
args = {
|
||||
node.description = "Noise Canceling source"
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ conf_files = [
|
|||
'pipewire.conf',
|
||||
'client.conf',
|
||||
'client-rt.conf',
|
||||
'filter-chain.conf',
|
||||
'jack.conf',
|
||||
'minimal.conf',
|
||||
'pipewire-pulse.conf',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue