mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-08 13:30:08 -05:00
filter-chain: add more mixer ports
Add option to set NULL data as the port data so that plugins can skip processing. Add 8 mixer ports and skip NULL data. Move silence and discard samples to static area. Improve the virtual sink examples. use the correct mixing for the HRIR channels.
This commit is contained in:
parent
123fe3d1c5
commit
1e4e83d305
5 changed files with 177 additions and 48 deletions
|
|
@ -35,7 +35,7 @@ context.modules = [
|
|||
{
|
||||
type = builtin
|
||||
label = convolver
|
||||
name = convFL
|
||||
name = convFL_L
|
||||
config = {
|
||||
filename = "hrir_kemar/hrir-kemar.wav"
|
||||
channel = 0
|
||||
|
|
@ -44,10 +44,28 @@ context.modules = [
|
|||
{
|
||||
type = builtin
|
||||
label = convolver
|
||||
name = convFR
|
||||
name = convFL_R
|
||||
config = {
|
||||
filename = "hrir_kemar/hrir-kemar.wav"
|
||||
channel = 4
|
||||
channel = 1
|
||||
}
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
label = convolver
|
||||
name = convFR_L
|
||||
config = {
|
||||
filename = "hrir_kemar/hrir-kemar.wav"
|
||||
channel = 1
|
||||
}
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
label = convolver
|
||||
name = convFR_R
|
||||
config = {
|
||||
filename = "hrir_kemar/hrir-kemar.wav"
|
||||
channel = 0
|
||||
}
|
||||
}
|
||||
{
|
||||
|
|
@ -71,16 +89,16 @@ context.modules = [
|
|||
{
|
||||
type = builtin
|
||||
label = convolver
|
||||
name = convSL
|
||||
name = convSL_L
|
||||
config = {
|
||||
filename = "hrir_kemar/hrir-kemar.wav"
|
||||
channel = 1
|
||||
channel = 4
|
||||
}
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
label = convolver
|
||||
name = convSR
|
||||
name = convSL_R
|
||||
config = {
|
||||
filename = "hrir_kemar/hrir-kemar.wav"
|
||||
channel = 5
|
||||
|
|
@ -88,48 +106,80 @@ context.modules = [
|
|||
}
|
||||
{
|
||||
type = builtin
|
||||
label = mixer
|
||||
name = mix1L
|
||||
label = convolver
|
||||
name = convSR_L
|
||||
config = {
|
||||
filename = "hrir_kemar/hrir-kemar.wav"
|
||||
channel = 5
|
||||
}
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
label = convolver
|
||||
name = convSR_R
|
||||
config = {
|
||||
filename = "hrir_kemar/hrir-kemar.wav"
|
||||
channel = 4
|
||||
}
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
label = mixer
|
||||
name = mix1R
|
||||
name = mixL
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
label = mixer
|
||||
name = mixC
|
||||
name = mixR
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
label = mixer
|
||||
name = mix2L
|
||||
label = copy
|
||||
name = copyFL
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
label = mixer
|
||||
name = mix2R
|
||||
label = copy
|
||||
name = copyFR
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
label = copy
|
||||
name = copySL
|
||||
}
|
||||
{
|
||||
type = builtin
|
||||
label = copy
|
||||
name = copySR
|
||||
}
|
||||
]
|
||||
links = [
|
||||
{ output = "convFL:Out" input = "mix1L:In 1" }
|
||||
{ output = "convSL:Out" input = "mix1L:In 2" }
|
||||
{ output = "copyFL:Out" input = "convFL_L:In" }
|
||||
{ output = "copyFL:Out" input = "convFL_R:In" }
|
||||
{ output = "copyFR:Out" input = "convFR_R:In" }
|
||||
{ output = "copyFR:Out" input = "convFR_L:In" }
|
||||
|
||||
{ output = "convFR:Out" input = "mix1R:In 1" }
|
||||
{ output = "convSR:Out" input = "mix1R:In 2" }
|
||||
{ output = "copySL:Out" input = "convSL_L:In" }
|
||||
{ output = "copySL:Out" input = "convSL_R:In" }
|
||||
{ output = "copySR:Out" input = "convSR_R:In" }
|
||||
{ output = "copySR:Out" input = "convSR_L:In" }
|
||||
|
||||
{ output = "convFC:Out" input = "mixC:In 1" }
|
||||
{ output = "convLFE:Out" input = "mixC:In 2" }
|
||||
{ output = "convFL_L:Out" input = "mixL:In 1" }
|
||||
{ output = "convFR_L:Out" input = "mixL:In 2" }
|
||||
{ output = "convFC:Out" input = "mixL:In 3" }
|
||||
{ output = "convLFE:Out" input = "mixL:In 4" }
|
||||
{ output = "convSL_L:Out" input = "mixL:In 5" }
|
||||
{ output = "convSR_L:Out" input = "mixL:In 6" }
|
||||
|
||||
{ output = "mixC:Out" input = "mix2L:In 1" }
|
||||
{ output = "mix1L:Out" input = "mix2L:In 2" }
|
||||
|
||||
{ output = "mixC:Out" input = "mix2R:In 1" }
|
||||
{ output = "mix1R:Out" input = "mix2R:In 2" }
|
||||
{ output = "convFL_R:Out" input = "mixR:In 1" }
|
||||
{ output = "convFR_R:Out" input = "mixR:In 2" }
|
||||
{ output = "convFC:Out" input = "mixR:In 3" }
|
||||
{ output = "convLFE:Out" input = "mixR:In 4" }
|
||||
{ output = "convSL_R:Out" input = "mixR:In 5" }
|
||||
{ output = "convSR_R:Out" input = "mixR:In 6" }
|
||||
]
|
||||
inputs = [ "convFL:In" "convFR:In" "convFC:In" "convLFE:In" "convSL:In" "convSR:In" ]
|
||||
outputs = [ "mix2L:Out" "mix2R:Out" ]
|
||||
inputs = [ "copyFL:In" "copyFR:In" "convFC:In" "convLFE:In" "copySL:In" "copySR:In" ]
|
||||
outputs = [ "mixL:Out" "mixR:Out" ]
|
||||
|
||||
}
|
||||
capture.props = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue