pipewire/pipewire-alsa
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
..
alsa-plugins alsa: update pollfd from poll_revents() as well 2023-11-15 15:40:02 +01:00
conf alsa: rework parameter handling 2022-09-20 16:24:21 +02:00
tests treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00