filter-chain: use only builtin filter for dolby surround sink

This commit is contained in:
ZZyVSmOzMz OZaAEBlUIZ 2025-06-12 06:15:39 +00:00
parent fa8208eeef
commit d07a383d6e

View file

@ -3,45 +3,118 @@
# Copy this file into a conf.d/ directory such as # Copy this file into a conf.d/ directory such as
# ~/.config/pipewire/filter-chain.conf.d/ # ~/.config/pipewire/filter-chain.conf.d/
# #
context.modules = [ {
{ name = libpipewire-module-filter-chain "context.modules": [
flags = [ nofail ] {
args = { "name": "libpipewire-module-filter-chain",
node.description = "Dolby Surround Sink" "flags": [
media.name = "Dolby Surround Sink" "nofail"
filter.graph = { ],
nodes = [ "args": {
{ "node.description": "Dolby Surround Sink",
type = builtin "media.name": "Dolby Surround Sink",
name = mixer "filter.graph": {
label = mixer "nodes": [
control = { "Gain 1" = 0.5 "Gain 2" = 0.5 } {
} "type": "builtin",
{ "name": "mixer_fc",
type = ladspa "label": "mixer"
name = enc },
plugin = surround_encoder_1401 {
label = surroundEncoder "type": "builtin",
} "name": "mixer_s",
] "label": "mixer"
links = [ },
{ output = "mixer:Out" input = "enc:S" } {
] "type": "builtin",
inputs = [ "enc:L" "enc:R" "enc:C" null "mixer:In 1" "mixer:In 2" ] "name": "s_phased",
outputs = [ "enc:Lt" "enc:Rt" ] "label": "convolver",
"config": {
"filename": "/hilbert",
"length": 90
}
},
{
"type": "builtin",
"name": "mixer_lt",
"label": "mixer",
"control": {
"Gain 1": 1,
"Gain 2": 0,
"Gain 3": 0.7071067811865475,
"Gain 4": -0.7071067811865475
}
},
{
"type": "builtin",
"name": "mixer_rt",
"label": "mixer",
"control": {
"Gain 1": 0,
"Gain 2": 1,
"Gain 3": 0.7071067811865475,
"Gain 4": 0.7071067811865475
}
} }
capture.props = { ],
node.name = "effect_input.dolby_surround" "links": [
media.class = Audio/Sink {
audio.channels = 6 "output": "mixer_fc:Out",
audio.position = [ FL FR FC LFE SL SR ] "input": "mixer_lt:In 3"
} },
playback.props = { {
node.name = "effect_output.dolby_surround" "output": "mixer_fc:Out",
node.passive = true "input": "mixer_rt:In 3"
audio.channels = 2 },
audio.position = [ FL FR ] {
"output": "mixer_s:Out",
"input": "s_phased:In"
},
{
"output": "s_phased:Out",
"input": "mixer_lt:In 4"
},
{
"output": "s_phased:Out",
"input": "mixer_rt:In 4"
} }
],
"inputs": [
"mixer_lt:In 1",
"mixer_rt:In 2",
"mixer_fc:In 1",
"mixer_fc:In 2",
"mixer_s:In 1",
"mixer_s:In 2"
],
"outputs": [
"mixer_lt:Out",
"mixer_rt:Out"
]
},
"capture.props": {
"node.name": "effect_input.dolby_surround",
"media.class": "Audio/Sink",
"audio.channels": 6,
"audio.position": [
"FL",
"FR",
"FC",
"LFE",
"SL",
"SR"
]
},
"playback.props": {
"node.name": "effect_output.dolby_surround",
"node.passive": true,
"audio.channels": 2,
"audio.position": [
"FL",
"FR"
]
} }
}
} }
] ]
}