pipewire/spa/plugins
Wim Taymans 2f3276f6bb loop: don't usleep when queue is full
When the queue is full, before this patch we used to go into usleep in
the hope that the other thread will run and empty the queue and that we
can retry after the usleep.

This however does not always work because the other thread might be waiting
for the thread that does the invoke call and we lock forever.

Therefore we should always try to make progress in some way. Instead of
waiting, allocate an (or use the previously allocated) overflow queue and
write to that one. We can chain multiple overflow queues together as many
as we need (but we might want to bound that as well).

The loop.retry-timeout property is now deprecated.

See #4114
2024-08-06 17:50:58 +02:00
..
aec spa: aec: webrtc: Fix multichannel processing 2024-06-25 15:34:30 -04:00
alsa alsa-pcm: Lower the frequency of USB gadget rate updates 2024-08-01 12:34:57 +02:00
audioconvert audioconvert: set IO_Buffers only when buffers are negotiated 2024-07-30 09:46:52 +02:00
audiomixer spa: revert peer_enum_params node event again 2024-06-20 10:22:45 +02:00
audiotestsrc fix compilation some more 2024-06-18 15:41:12 +02:00
avb spa: small cleanups 2024-01-10 15:51:01 +01:00
bluez5 bluez5: Update default sync_factor 2024-07-29 10:29:25 +02:00
control spa: revert peer_enum_params node event again 2024-06-20 10:22:45 +02:00
ffmpeg spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
jack spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
libcamera impl-port: add port.group property 2024-06-24 13:38:09 +02:00
support loop: don't usleep when queue is full 2024-08-06 17:50:58 +02:00
test spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
v4l2 v4l2: Improve format and control enumeration 2024-07-12 08:58:09 +02:00
videoconvert videoconvert: Enable loading external converter plugins 2024-01-22 13:59:16 +00:00
videotestsrc spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
volume spa: fix volume plugin compilation 2024-06-18 15:44:26 +02:00
vulkan vulkan: fix compilation 2024-06-18 15:16:06 +02:00
meson.build meson: fix build with missing libudev-devel 2024-02-06 11:49:40 +01:00