Filter chain only works on streams started after filter chain was started
Version, Distribution, Desktop Environment: 0.3.37, Gentoo Linux, Xfce4
Description of Problem: Filter chains will have no effects on streams that were started after the filter chain was started. They can be selected as output device, but its filters do nothing.
How Reproducible: 100%
Steps to Reproduce:
- Begin with normal config for Pulseaudio replacement
- Start a stream,
ffplay -f lavfi -i "sine=frequency=117" -nodisp
- Start a filter chain,
pipewire -c filter-chain/dedrone.conf
(see below for file) - Select the filter chain as the output device for the stream
Actual Results: bq_notch does not filter the frequency. If the stream is now stopped, and step 2 and 4 repeated, it works and you see the expected results.
Expected Results: bq_notch considerably filters/attenuates the frequency
Additional Info Eg. pw-dump -N > file
(As Attachment Please):
filter-chain/dedrone.conf:
context.properties = {
log.level = 0
}
context.spa-libs = {
audio.convert.* = audioconvert/libspa-audioconvert
support.* = support/libspa-support
}
context.modules = [
{ name = libpipewire-module-rtkit
args = {
#nice.level = -11
#rt.prio = 88
#rt.time.soft = 2000000
#rt.time.hard = 2000000
}
flags = [ ifexists nofail ]
}
{ name = libpipewire-module-protocol-native }
{ name = libpipewire-module-client-node }
{ name = libpipewire-module-adapter }
{ name = libpipewire-module-filter-chain
args = {
node.name = "dedrone"
node.description = "SC203 Speaker dedroned"
media.name = "SC203 Speaker dedroned"
filter.graph = {
nodes = [
{
type = builtin
name = dedrone_0
label = bq_notch
control = {
"Freq" = 117.0
"Q" = 10.0
}
}
]
}
capture.props = {
media.class = Audio/Sink
audio.channels = 2
}
playback.props = {
node.target = "alsa_card.usb-EVE_SC203_Speaker-00"
node.passive = true
audio.channels = 2
}
}
}
]
Thanks!