pipewire/spa/plugins/alsa
Martin Geier b5e9e59cdb alsa-pcm: enable interrupts after alsa recovery
Interrupts are disabled in alsa_irq_wakeup_event -> playback_ready method
to not produce another wakeups when waiting for a new data. Interrupts are
enabled again when a new data arrives in a method spa_alsa_write.
In rare cases, when there is multiple streams providing data and one of
them is disconnected, a new data fails to be delivered and the spa_alsa_write
is not called. Not providing data produces underrun and alsa-pcm invokes
recovery process. Recovery process starts a new playback, but without interrupts
enabled is graph not triggered and new data are not delivered (to enable
interrupts). Recovery process keeps running in loop.
Now the interrupts are enabled again after the recovery and the starvation
should not occur.

Signed-off-by: Martin Geier <martin.geier@streamunlimited.com>
2025-06-13 11:14:22 +02:00
..
acp spa: acp: indicate ALSA UCM profile errors in UIs 2025-03-14 10:16:08 +01:00
mixer alsa-card-profiles: move HDMI/AC3 profiles to separate profile set 2024-11-23 14:58:17 +02:00
90-pipewire-alsa.rules 90-pipewire-alsa.rules: Check firewire before pci 2025-02-07 16:43:52 +01:00
acp-tool.c spa: acp: make spa-acp-tool debug output easier to read 2025-03-10 09:24:29 +01:00
alsa-acp-device.c spa: alsa: do not allow setting Route that is not in current profile 2025-01-12 11:13:47 +00:00
alsa-compress-offload-device.c spa: alsa: avoid potential uninitialized variable use 2024-09-18 19:54:13 +00:00
alsa-compress-offload-sink.c Fix typos 2024-05-22 09:19:34 +02:00
alsa-pcm-device.c spa: alsa: avoid potential uninitialized variable use 2024-09-18 19:54:13 +00:00
alsa-pcm-sink.c spa: acp: get and emit UCM information for SplitPCM devices 2024-12-21 16:03:19 +02:00
alsa-pcm-source.c spa: acp: get and emit UCM information for SplitPCM devices 2024-12-21 16:03:19 +02:00
alsa-pcm.c alsa-pcm: enable interrupts after alsa recovery 2025-06-13 11:14:22 +02:00
alsa-pcm.h spa: acp: get and emit UCM information for SplitPCM devices 2024-12-21 16:03:19 +02:00
alsa-seq-bridge.c alsa: remove UMP flag from control format 2025-05-23 17:00:16 +02:00
alsa-seq.c alsa: remove UMP flag from control format 2025-05-23 17:00:16 +02:00
alsa-seq.h alsa: remove UMP flag from control format 2025-05-23 17:00:16 +02:00
alsa-udev.c alsa: add option to skip the busy check 2024-03-22 12:42:48 +01:00
alsa.c meson: fix build with missing libudev-devel 2024-02-06 11:49:40 +01: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 meson: fix build with missing libudev-devel 2024-02-06 11:49:40 +01:00
test-hw-params.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
test-timer.c fix compilation some more 2024-06-18 15:41:12 +02:00