pipewire/spa/plugins/alsa/acp
Alper Nebi Yasak d99e0586b0 alsa-ucm: Create multiple profiles per verb for conflicting devices
Right now we try to add all UCM devices of a verb to a single profile.
But if some devices using different PCMs are configured as conflicting
with one another, we will only be able to utilize one of them, chosen
seemingly based on the order in the UCM config file.

This is not a problem with conflicting devices sharing a PCM, as they
are assigned to the same mapping and the ports mechanism only enables
one of them to be active at a time.

To utilize all devices in a UCM verb even when there are conflicting
devices using different PCMs, calculate subsets of devices which
can be simultaneously used and create a profile for each such set.

Link: 5dd411190d
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-12-04 15:34:48 +00:00
..
acp.c alsa-ucm: Make mapping UCM contexts have only one device 2023-12-04 15:34:48 +00:00
acp.h acp: add support for hiding profiles and ports 2023-11-30 17:40:48 +01:00
alsa-mixer.c alsa-util: Perform format and rate detection before setting HW params 2023-12-04 15:34:48 +00:00
alsa-mixer.h alsa-ucm: Let profiles know their associated UCM verb 2023-12-04 15:34:48 +00:00
alsa-ucm.c alsa-ucm: Create multiple profiles per verb for conflicting devices 2023-12-04 15:34:48 +00:00
alsa-ucm.h alsa-ucm: Make mapping UCM contexts have only one modifier 2023-12-04 15:34:48 +00:00
alsa-util.c alsa-util: Fix pa_alsa_get_supported_formats fallback. 2023-12-04 15:34:48 +00:00
alsa-util.h alsa-util: Perform format and rate detection before setting HW params 2023-12-04 15:34:48 +00:00
array.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
card.h acp: add option to set Pro Audio channels 2023-01-31 15:59:39 +01:00
channelmap.h acp: don't mix non-AUX and AUX channels 2022-06-02 12:54:04 +02:00
compat.c spa: alsa: fix leaks in get_data_path() 2023-11-10 03:29:49 +01:00
compat.h alsa-ucm: Remove combination port generation logic 2023-12-04 15:34:48 +00:00
conf-parser.c config.h is a local header, not a system one 2021-06-10 09:04:16 +10:00
conf-parser.h alsa-acp: Add libacp based card device 2020-07-06 12:20:09 +02:00
device-port.h Fix typos 2021-04-30 07:40:20 +00:00
dynarray.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
hashmap.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
idxset.h acp: Add idxset comparison and reverse search operations 2023-12-04 15:34:48 +00:00
llist.h alsa-acp: Add libacp based card device 2020-07-06 12:20:09 +02:00
meson.build treewide: meson.build: use dependency variable for SPA 2021-12-28 18:34:06 +01:00
proplist.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
volume.h alsa: get rid of non-portable isinf use 2023-08-31 10:37:22 +00:00