pipewire/spa
Martin Geier 9afa0cd270 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-10 16:28:46 +02:00
..
examples Port videotestsrc to LoopUtils 2024-07-01 15:28:14 +00:00
include Revert "loop: deprecate the hooks" 2025-06-10 13:08:45 +02:00
include-private/spa-private spa: move dbus helpers out of bluez plugin 2024-02-05 13:03:20 +00:00
lib spa: add AC3, EAC3, TrueHD, DTS, MPEG-H formats 2025-05-29 21:41:51 +02:00
plugins alsa-pcm: enable interrupts after alsa recovery 2025-06-10 16:28:46 +02:00
tests Add GNU/Hurd support 2023-09-24 15:11:52 +00:00
tools spa: tools: spa-inspect: Output more detailed dlopen and dlsym errors 2025-05-28 17:19:57 +02:00
meson.build filter-graph: add an ffmpeg plugin 2025-06-10 10:55:45 +02:00