pipewire/spa/plugins
Pauli Virtanen e1bc1c4569 alsa-udev: postpone emitting if pcm devices are busy, retry later
There is a race condition on udev permission changes (e.g. switching
VTs), when pipewire from one user closes devices, and the other process
from second user tries to open them.  The close/open are not ordered, so
opening a device may fail in alsa-acp-device.c resulting to missing
devices/profiles.

Address this by trying to open devices already in alsa-udev.c. If some
devices are busy, do not emit the device info yet, but retry after a
timeout.  If it still fails, go ahead emitting the device, even if some
profiles may be missing.  The retry with delay should be enough to solve
the race almost always.
2022-01-23 12:33:57 +00:00
..
alsa alsa-udev: postpone emitting if pcm devices are busy, retry later 2022-01-23 12:33:57 +00:00
audioconvert audioconvert: block volume updates when disabled 2022-01-20 20:07:05 +01:00
audiomixer Use configured quantum_limit instead of hardcoded value 2022-01-12 17:50:12 +01:00
audiotestsrc Use configured quantum_limit instead of hardcoded value 2022-01-12 17:50:12 +01:00
bluez5 bluez5: allow setting initial profile to off 2022-01-22 20:01:00 +00:00
control buffers: make alignment optional 2022-01-03 12:32:26 +01:00
ffmpeg treewide: meson.build: use dependency variable for SPA 2021-12-28 18:34:06 +01:00
jack buffers: make alignment optional 2022-01-03 12:32:26 +01:00
libcamera buffers: make alignment optional 2022-01-03 12:32:26 +01:00
support loop: invoke immediately when loop is not running 2022-01-18 20:03:01 +01:00
test buffers: make alignment optional 2022-01-03 12:32:26 +01:00
v4l2 buffers: make alignment optional 2022-01-03 12:32:26 +01:00
videoconvert buffers: make alignment optional 2022-01-03 12:32:26 +01:00
videotestsrc buffers: make alignment optional 2022-01-03 12:32:26 +01:00
volume Use configured quantum_limit instead of hardcoded value 2022-01-12 17:50:12 +01:00
vulkan buffers: make alignment optional 2022-01-03 12:32:26 +01:00
meson.build meson.build: adds V4L2 header and enablement reporting via summary() 2021-06-25 15:13:07 +03:00