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