wireplumber/tests/wp/component-loader.conf
George Kiagiadakis a061018150 internal-comp-loader: implement profiles inheriting other profiles
This allows to inherit all the profile definitions of another profile
before the current profile's definitions are parsed, allowing for
more complex structures to be present in the default wireplumber.conf
without too much copy-paste
2024-09-02 17:00:53 +03:00

140 lines
2.2 KiB
Text

context.modules = [
{ name = libpipewire-module-protocol-native }
]
wireplumber.profiles = {
test_inherited = {
virtual.four = required
support.zero = required
}
test = {
inherits = [ test_inherited ]
support.zero = disabled
support.nine = required
support.ten = required
support.eleven = required
}
}
wireplumber.components = [
# expected load order:
# five, one, seven, ten, eleven, six, two, three, four, nine
# eight is not loaded - optional feature
{
name = zero
type = test
provides = support.zero
}
{
name = one
type = test
provides = support.one
}
{
name = two
type = test
provides = support.two
requires = [ support.one ]
}
{
type = virtual
provides = virtual.four
requires = [ INVALID ]
}
{
name = three
type = test
provides = INVALID
wants = [ support.two ]
}
{
name = four
type = test
provides = support.four
requires = [ support.five ]
wants = [ support.three ]
}
{
name = five
type = test
provides = support.five
}
{
name = six
type = test
provides = support.six
requires = [ support.one ]
}
{
name = seven
type = test
requires = [ support.five ]
}
{
name = eight
type = test
provides = support.eight
requires = [ support.four ]
}
{
name = nine
type = test
provides = support.nine
after = [ support.ten ]
}
{
name = ten
type = test
provides = support.ten
}
{
name = eleven
type = test
provides = support.eleven
before = [ support.nine, support.six ]
}
]
wireplumber.components.rules = [
{
matches = [
{
name = two
}
]
actions = {
merge = {
# final array should be [ support.one, support.six ]
# if this fails, support.six will not be loaded
requires = [ support.six ]
}
}
}
{
matches = [
{
name = three
}
]
actions = {
merge = {
provides = support.three
}
}
}
{
matches = [
{
provides = virtual.four
}
]
actions = {
override = {
requires = [ support.four ]
}
}
}
]