pipewire/spa/plugins
Wim Taymans d59e1094cd alsa: fix capture timings and drift
Don't reschedule a timeout when we have less samples available than the
target but only reschedule when we have less that the required amount we
need to read. This ensures that we hover around the target level and the
timeouts/rate matching adapts correctly. Previously we would only rate
match if the have at least the target amount of samples, which would
then always result in a possitive rate adjustment and cause drift.

For capture, make sure that there is at least 32 samples of headroom
when we are not using IRQ mode to handle jitter in the timer wakeup.

For capture of batch devices this results in (for a 1024 quantum) a
target buffer fill level of 1024 + 512, and we will read if there are at
least 1024 samples available.

For non-batch devices we aim for a target buffer fill level of 1024 + 32
and read if there are at least 1024 samples available.
2023-04-10 15:02:29 +02:00
..
aec treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
alsa alsa: fix capture timings and drift 2023-04-10 15:02:29 +02:00
audioconvert test: add more lossless tests 2023-04-06 10:00:17 +02:00
audiomixer improve logging 2023-03-30 15:03:21 +02:00
audiotestsrc node: update the duration/rate from the target 2023-03-23 18:39:27 +01:00
avb spa: reuse code to clear the timers 2023-03-24 17:55:15 +01:00
bluez5 bluez5: emit BAP device set nodes as needed 2023-04-10 07:00:44 +00:00
control treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
ffmpeg treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
jack treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
libcamera camera: work around target_ mishandling 2023-03-27 09:59:21 +02:00
support support: add support for checking loop context 2023-04-04 16:19:41 +02:00
test treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
v4l2 camera: work around target_ mishandling 2023-03-27 09:59:21 +02:00
videoconvert treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
videotestsrc treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
volume volume: Fix inverted check for buffer validity 2023-03-31 08:19:07 +00:00
vulkan treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
meson.build Disable alsa plugin on !Linux platforms. 2023-03-15 16:53:41 +00:00