1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# Register well-known SPA factories
# These do not need to exist on the system to be registered
add-spa-lib audio.convert* audioconvert/libspa-audioconvert
add-spa-lib api.alsa.* alsa/libspa-alsa
add-spa-lib api.v4l2.* v4l2/libspa-v4l2
add-spa-lib api.bluez5.* bluez5/libspa-bluez5
# the client-device pipewire module is needed for libwireplumber-module-monitor
load-pipewire-module libpipewire-module-client-device
# Basic pipewire integration - do not remove
load-module C libwireplumber-module-pipewire
# Grants access to security confined clients
load-module C libwireplumber-module-client-permissions
# Endpoint implementation for standard audio devices
# using software conversions, mixing and volume controls
load-module C libwireplumber-module-pw-audio-softdsp-endpoint
# Endpoint that provides high-level volume controls for the AGL mixer
# The streams specified here are the ones that will appear in the mixer.
# They must match the stream names in the alsa-udev module,
# except for "Master", which is treated specially.
load-module C libwireplumber-module-mixer {
"streams": <["Master", "Multimedia", "Speech-Low", "Custom-Low",
"Navigation", "Speech-High", "Custom-High",
"Communication", "Emergency"]>
}
load-module C libwireplumber-module-monitor {
"factory": <"api.alsa.monitor">,
"flags": <["use-adapter"]>
}
load-module C libwireplumber-module-monitor {
"factory": <"api.bluez5.monitor">,
"flags": <["local-nodes", "use-adapter"]>
}
# Monitors the ALSA devices that are discovered via udev
# and creates softdsp-endopints for each one of them
# The streams specified here are the ones that will be available for linking
# clients. Currently, they are matched against the client's role string.
load-module C libwireplumber-module-pw-alsa-udev {
"streams": <["Multimedia", "Speech-Low", "Custom-Low",
"Navigation", "Speech-High", "Custom-High",
"Communication", "Emergency"]>
}
# Monitors the Audio clients that are discovered via pipewire
# and creates simple-endpoints for each one of them
load-module C libwireplumber-module-pw-audio-client
# Monitors the Bluetooth devices that are discovered via pipewire
# and creates simple-endpoints for each one of them
load-module C libwireplumber-module-pw-bluez
# Implements linking clients to devices and maintains
# information about the devices to be used.
# Notes:
# - Devices must be specified in hw:X,Y format, where X and Y are integers.
# Things like hw:Intel,0 or paths are not understood.
# - Roles and priorities can be arbitrary strings and arbitrary numbers
# - Roles are matched against the stream names specified in the modules above.
load-module C libwireplumber-module-simple-policy {
"default-playback-device": <"PLAYBACK">,
"default-capture-device": <"CAPTURE">,
"role-priorities": <{
"Multimedia": 1,
"Speech-Low": 2,
"Custom-Low": 3,
"Navigation": 5,
"Speech-High:": 7,
"Custom-High": 8,
"Communication": 9,
"Emergency": 10
}>
}
|