pipewire/spa/plugins/alsa
Alper Nebi Yasak 0bdad320cd alsa-ucm: Replace port device UCM context assertion with an error
The pa_alsa_ucm_set_port() function is passed both a mapping context and
a device port, and both of these refer to their respective UCM device.
While switching over to having one port per mapping per UCM device, I
expected both of these to be the same device struct, so added an assert
checking so.

This assertion gets triggered when we have multiple UCM verbs declaring
the same UCM device name. The root cause here is that the ports' UCM
device references are set once while creating the ports for the card, so
they happen to be those of a specific verb and may not match those from
a different UCM verb's profiles' mappings.

Solving the root cause necessitates a larger refactor. What we actually
assume here is that name of the UCM device is same for both the port and
the UCM context, which ends up always true in practice. For now, replace
the assert with a check and error.

Link: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/802
Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-12-04 15:34:48 +00:00
..
acp alsa-ucm: Replace port device UCM context assertion with an error 2023-12-04 15:34:48 +00:00
mixer alsa-card-profiles: simplify adding custom profiles 2023-08-23 10:06:16 +00:00
90-pipewire-alsa.rules Add support for GSX 1000 v2 2023-01-13 12:19:30 +00:00
acp-tool.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
alsa-acp-device.c acp: add support for hiding profiles and ports 2023-11-30 17:40:48 +01:00
alsa-compress-offload-device.c spa: alsa: compress-offload: use spa_assert_not_reached() 2023-11-06 19:01:20 +01:00
alsa-compress-offload-sink.c treewide: use spa_assert_not_reached() instead of assert(false) 2023-09-16 17:50:25 +02:00
alsa-pcm-device.c alsa-pcm-device: Minor logging improvements 2023-09-02 08:28:22 +00:00
alsa-pcm-sink.c alsa: Move ctl sources to a main loop 2023-11-22 16:00:25 +00:00
alsa-pcm-source.c alsa: Move ctl sources to a main loop 2023-11-22 16:00:25 +00:00
alsa-pcm.c alsa: clamp buffer_frames correctly 2023-11-30 13:28:16 +01:00
alsa-pcm.h alsa: Move ctl sources to a main loop 2023-11-22 16:00:25 +00:00
alsa-seq-bridge.c alsa-seq: set priority.driver to 1 2023-10-12 11:57:14 +02:00
alsa-seq.c plugins: simplify target_ handling 2023-03-24 11:36:15 +01:00
alsa-seq.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
alsa-udev.c alsa: Ignore PCM devices with udev env ACP_IGNORE 2023-10-14 14:14:10 +09:00
alsa.c spa: remove unnecessary indirection for some spa_log_topics 2023-10-06 13:08:24 +00:00
alsa.h spa: remove unnecessary indirection for some spa_log_topics 2023-10-06 13:08:24 +00:00
compress-offload-api-util.c alsa-compress-offload: Add device object and udev based autodetection 2023-09-02 08:28:22 +00:00
compress-offload-api-util.h alsa-compress-offload: Add device object and udev based autodetection 2023-09-02 08:28:22 +00:00
compress-offload-api.c alsa-compress-offload-sink: major sink rework 2023-02-24 14:15:13 +01:00
compress-offload-api.h alsa-compress-offload: Add device object and udev based autodetection 2023-09-02 08:28:22 +00:00
meson.build alsa-compress-offload: Add device object and udev based autodetection 2023-09-02 08:28:22 +00:00
test-hw-params.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
test-timer.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00