pipewire/pipewire-alsa/alsa-plugins
Wim Taymans 266ef3b986 alsa: update pollfd from poll_revents() as well
Some clients don't call _poll_descriptors() before entering the poll and
so don't get updated fds. This would result in a whole bunch of wakeups
when the eventfd was set but the new state is no longer active.

Part of the problem is also that check_active() returns the desired new
state and update_active() does check_active() + update. We could be
getting into a new desired inactive state without updating the eventfd.
Improve this by merging them together into update_active() which only
writes/reads the eventfd when something changes.

This also makes things less heavy because the eventfd is only
read/written when needed.

Fixes #3648
2023-11-15 15:40:02 +01:00
..
ctl_pipewire.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
meson.build alsa: add mathlib dep 2023-01-20 08:16:50 +00:00
pcm_pipewire.c alsa: update pollfd from poll_revents() as well 2023-11-15 15:40:02 +01:00