pipewire/spa/plugins/support
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
..
cpu-arm.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
cpu-x86.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
cpu.c spa: export log topic enumerations 2024-01-04 10:02:55 +00:00
dbus.c spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
evl-plugin.c spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
evl-system.c spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
journal.c journal: prepend code location to messages at debug log levels 2024-04-28 16:02:28 +03:00
logger.c treewide: fix some format string issues 2024-04-25 07:24:10 +00:00
loop.c loop: don't usleep when queue is full 2024-08-06 17:50:58 +02:00
meson.build spa: support: remove log pattern support 2024-01-04 10:02:55 +00:00
node-driver.c node-driver: 5 seconds of freewheel timeout is enough 2024-07-12 12:30:42 +02:00
null-audio-sink.c spa: improve null-audio-sink channels 2024-03-28 17:11:16 +01:00
plugin.c spa: export log topic enumerations 2024-01-04 10:02:55 +00:00
system.c pipewire-alsa: Propagate errors from eventfd(). 2024-02-19 14:16:26 +00:00