Revert "module-rtp: Remove device_delay from timestamp math"

This reverts commit dcdc19238b.

Reverting this because it caused big sync errors of ~62 ms in test setups.
Further discussions about this can be found here:

https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2666

Followup commits modify the device delay application (by scaling it),
which is another reason why this needs to be reverted.
This commit is contained in:
Carlos Rafael Giani 2026-01-27 21:24:43 +01:00
parent cad1df748e
commit a32e6e108c

View file

@ -98,12 +98,9 @@ static void rtp_audio_process_playback(void *data)
* pace of the driver. */
if (impl->io_position) {
/* Use the clock position directly as the read index.
* Do NOT add device_delay here - the sink's DLL handles
* matching its hardware clock to the driver pace. Adding
* device_delay would create a feedback loop since rate
* adjustments affect both ringbuffer and device buffer. */
timestamp = impl->io_position->clock.position;
/* Shift clock position by stream delay to compensate
* for processing and output delay. */
timestamp = impl->io_position->clock.position + device_delay;
spa_ringbuffer_read_update(&impl->ring, timestamp);
} else {
/* In the unlikely case that no spa_io_position pointer