pipewire/spa/plugins/alsa
Wim Taymans 758805d65d alsa: fix rate matching in the sequencer
The alsa sequencer rate matching was not actually working correctly.
It would compare the previous queue time with the current time and
compare that to the quantum. This would include uncorrected errors from
jitter and would result in the timeouts being scaled in the wrong
direction forever.

Instead, calculate an ideal queue time and compare our current queue
time against that. We then use the correction to scale the timeout or
the next queue time prediction.

Also use the predicted time as the base time for the event timestamps.
this results in less jitter.

Fixes #3657
2023-12-05 15:12:27 +01:00
..
acp acp: Disable active UCM profile before enabling Pro Audio profile 2023-12-04 15:34:48 +00:00
mixer alsa-card-profiles: simplify adding custom profiles 2023-08-23 10:06:16 +00: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 acp: add support for hiding profiles and ports 2023-11-30 17:40:48 +01:00
alsa-compress-offload-device.c spa: alsa: compress-offload: use spa_assert_not_reached() 2023-11-06 19:01:20 +01:00
alsa-compress-offload-sink.c treewide: use spa_assert_not_reached() instead of assert(false) 2023-09-16 17:50:25 +02:00
alsa-pcm-device.c alsa-pcm-device: Minor logging improvements 2023-09-02 08:28:22 +00:00
alsa-pcm-sink.c alsa: Move ctl sources to a main loop 2023-11-22 16:00:25 +00:00
alsa-pcm-source.c alsa: Move ctl sources to a main loop 2023-11-22 16:00:25 +00:00
alsa-pcm.c alsa: clamp buffer_frames correctly 2023-11-30 13:28:16 +01:00
alsa-pcm.h alsa: Move ctl sources to a main loop 2023-11-22 16:00:25 +00:00
alsa-seq-bridge.c alsa-seq: set priority.driver to 1 2023-10-12 11:57:14 +02:00
alsa-seq.c alsa: fix rate matching in the sequencer 2023-12-05 15:12:27 +01:00
alsa-seq.h alsa: fix rate matching in the sequencer 2023-12-05 15:12:27 +01:00
alsa-udev.c alsa: Ignore PCM devices with udev env ACP_IGNORE 2023-10-14 14:14:10 +09:00
alsa.c spa: remove unnecessary indirection for some spa_log_topics 2023-10-06 13:08:24 +00:00
alsa.h spa: remove unnecessary indirection for some spa_log_topics 2023-10-06 13:08:24 +00:00
compress-offload-api-util.c alsa-compress-offload: Add device object and udev based autodetection 2023-09-02 08:28:22 +00:00
compress-offload-api-util.h alsa-compress-offload: Add device object and udev based autodetection 2023-09-02 08:28:22 +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: Add device object and udev based autodetection 2023-09-02 08:28:22 +00:00
meson.build alsa-compress-offload: Add device object and udev based autodetection 2023-09-02 08:28:22 +00: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