https://bugs.kde.org/show_bug.cgi?id=523215

Vasilij <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #2 from Vasilij <[email protected]> ---
A related part that would belong in the same controls: the delay of AirPlay
outputs.

PipeWire's raop-sink plays with a fixed buffer, raop.latency.ms, default 1500
ms. On my receiver (Belkin SOUNDFORM CONNECT) that gave about 1.9 s from play
to sound, which makes the device look broken for anything interactive. Setting
250 ms in a raop-discover stream rule brought it down to about 0.5 s without
dropouts on my network, but the option is only reachable through a config file
and a PipeWire restart. How low it can go depends on the network, so a plain
slider does not help much: people cannot know the right value.

Suggestion: a "Test and optimize delay" button for network outputs, similar to
the latency calibration some speaker and TV vendors offer:

1. Ask the user for a few seconds of quiet.
2. Play a test signal through the network output and record it with the
built-in or default microphone to measure the real delay.
3. Step raop.latency.ms down (1500, 1000, 500, 250 ms, ...), play a short test
at each step and check the recording for gaps, then keep the smallest value
that plays cleanly, plus a safety margin.
4. Store the value per device, so it survives restarts and new discovery, and
report the measured delay to applications for A/V sync.

The value is fixed when the sink is created, so applying it means re-creating
that sink (or a runtime property in PipeWire). Without a microphone it could
fall back to a few presets.

Kubuntu 26.04.1, Plasma 6.6.6, PipeWire 1.6.2.

(Written with the help of an AI assistant, Claude; the measurements are from my
machine.)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to