pipewire config: enable bluez modules in pipewire and wireplumber
[AGL/meta-agl-devel.git] / meta-pipewire / recipes-multimedia / wireplumber / wireplumber-board-config-agl / wireplumber.conf.in
1 # Basic pipewire integration - do not remove
2 load-module C libwireplumber-module-pipewire
3
4 # Grants access to security confined clients
5 load-module C libwireplumber-module-client-permissions
6
7 # Endpoint implementation for standard audio devices
8 # using software conversions, mixing and volume controls
9 load-module C libwireplumber-module-pw-audio-softdsp-endpoint
10
11 # Endpoint that provides high-level volume controls for the AGL mixer
12 # The streams specified here are the ones that will appear in the mixer.
13 # They must match the stream names in the alsa-udev module,
14 # except for "Master", which is treated specially.
15 load-module C libwireplumber-module-mixer {
16   "streams": <["Master", "Multimedia", "Speech-Low", "Custom-Low",
17                 "Navigation", "Speech-High", "Custom-High",
18                 "Communication", "Emergency"]>
19 }
20
21 # Monitors the ALSA devices that are discovered via udev
22 # and creates softdsp-endopints for each one of them
23 # The streams specified here are the ones that will be available for linking
24 # clients. Currently, they are matched against the client's role string.
25 load-module C libwireplumber-module-pw-alsa-udev {
26   "streams": <["Multimedia", "Speech-Low", "Custom-Low",
27                 "Navigation", "Speech-High", "Custom-High",
28                 "Communication", "Emergency"]>
29 }
30
31 # Monitors the Audio clients that are discovered via pipewire
32 # and creates simple-endpoints for each one of them
33 load-module C libwireplumber-module-pw-audio-client
34
35 # Monitors the Bluetooth devices that are discovered via pipewire
36 # and creates simple-endpoints for each one of them
37 load-module C libwireplumber-module-pw-bluez
38
39 # Implements linking clients to devices and maintains
40 # information about the devices to be used.
41 # Notes:
42 # - Devices must be specified in hw:X,Y format, where X and Y are integers.
43 #   Things like hw:Intel,0 or paths are not understood.
44 # - Roles and priorities can be arbitrary strings and arbitrary numbers
45 # - Roles are matched against the stream names specified in the modules above.
46 load-module C libwireplumber-module-simple-policy {
47   "default-playback-device": <"PLAYBACK">,
48   "default-capture-device": <"CAPTURE">,
49   "role-priorities": <{
50     "Multimedia": 1,
51     "Speech-Low": 2,
52     "Custom-Low": 3,
53     "Navigation": 5,
54     "Speech-High:": 7,
55     "Custom-High": 8,
56     "Communication": 9,
57     "Emergency": 10
58   }>
59 }