pipewire/spa/plugins/alsa
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
..
acp acp: return EEXIST when seeing a linked device 2023-03-23 13:24:22 +01:00
mixer alsa-profiles: SB Audigy: stereo mixer paths 2023-04-09 12:20:26 -07:00
90-pipewire-alsa.rules Add support for GSX 1000 v2 2023-01-13 12:19:30 +00:00
acp-tool.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
alsa-acp-device.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
alsa-compress-offload-sink.c plugins: simplify target_ handling 2023-03-24 11:36:15 +01:00
alsa-pcm-device.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
alsa-pcm-sink.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
alsa-pcm-source.c alsa: fix uninitialized value 2023-03-16 13:02:54 +01:00
alsa-pcm.c alsa: fix capture timings and drift 2023-04-10 15:02:29 +02:00
alsa-pcm.h alsa: Implement period-based wakeups 2023-03-28 16:22:53 +00:00
alsa-seq-bridge.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
alsa-seq.c plugins: simplify target_ handling 2023-03-24 11:36:15 +01:00
alsa-seq.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
alsa-udev.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
alsa.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
alsa.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
compress-offload-api.c alsa-compress-offload-sink: major sink rework 2023-02-24 14:15:13 +01:00
compress-offload-api.h alsa-compress-offload-sink: major sink rework 2023-02-24 14:15:13 +01:00
meson.build alsa-compress-offload-sink: major sink rework 2023-02-24 14:15:13 +01:00
test-hw-params.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
test-timer.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00