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@ #
|
# filter-chain example config file for PipeWire version @VERSION@ #
|
||||||
context.properties = {
|
#
|
||||||
## Configure properties in the system.
|
# Copy this file into a conf.d/ directory such as
|
||||||
#mem.warn-mlock = false
|
# ~/.config/pipewire/filter-chain.conf.d/
|
||||||
#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 = [
|
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
|
{ name = libpipewire-module-filter-chain
|
||||||
args = {
|
args = {
|
||||||
#audio.format = F32
|
#audio.format = F32
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,9 @@
|
||||||
# Dolby Surround encoder sink
|
# 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 = [
|
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
|
{ name = libpipewire-module-filter-chain
|
||||||
args = {
|
args = {
|
||||||
node.description = "Dolby Surround Sink"
|
node.description = "Dolby Surround Sink"
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,9 @@
|
||||||
# 6 band sink equalizer
|
# 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 = [
|
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
|
{ name = libpipewire-module-filter-chain
|
||||||
args = {
|
args = {
|
||||||
node.description = "Equalizer Sink"
|
node.description = "Equalizer Sink"
|
||||||
|
|
|
||||||
|
|
@ -1,30 +1,12 @@
|
||||||
# Matrix Spatialiser sink
|
# 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> )
|
# ( 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 = [
|
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
|
{ name = libpipewire-module-filter-chain
|
||||||
args = {
|
args = {
|
||||||
node.description = "Matrix Spatialiser"
|
node.description = "Matrix Spatialiser"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
# An example filter chain that makes a stereo sink that mixes
|
# An example filter chain that makes a stereo sink that mixes
|
||||||
# the FL and FR channels to a single FL channel
|
# 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 = [
|
context.modules = [
|
||||||
{ name = libpipewire-module-filter-chain
|
{ name = libpipewire-module-filter-chain
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,9 @@
|
||||||
# Convolver sink
|
# 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 = [
|
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
|
{ name = libpipewire-module-filter-chain
|
||||||
args = {
|
args = {
|
||||||
node.description = "Virtual Surround Sink"
|
node.description = "Virtual Surround Sink"
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,9 @@
|
||||||
# Convolver sink
|
# 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 = [
|
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
|
{ name = libpipewire-module-filter-chain
|
||||||
args = {
|
args = {
|
||||||
node.description = "Virtual Surround Sink"
|
node.description = "Virtual Surround Sink"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
# An example filter chain that makes a source that duplicates the FL channel
|
# An example filter chain that makes a source that duplicates the FL channel
|
||||||
# to FL and FR.
|
# 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 = [
|
context.modules = [
|
||||||
{ name = libpipewire-module-filter-chain
|
{ name = libpipewire-module-filter-chain
|
||||||
|
|
|
||||||
|
|
@ -1,29 +1,9 @@
|
||||||
# Noise canceling source
|
# 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 = [
|
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
|
{ name = libpipewire-module-filter-chain
|
||||||
args = {
|
args = {
|
||||||
node.description = "Noise Canceling source"
|
node.description = "Noise Canceling source"
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,7 @@ conf_files = [
|
||||||
'pipewire.conf',
|
'pipewire.conf',
|
||||||
'client.conf',
|
'client.conf',
|
||||||
'client-rt.conf',
|
'client-rt.conf',
|
||||||
|
'filter-chain.conf',
|
||||||
'jack.conf',
|
'jack.conf',
|
||||||
'minimal.conf',
|
'minimal.conf',
|
||||||
'pipewire-pulse.conf',
|
'pipewire-pulse.conf',
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue