diff options
| author | 2024-04-07 12:24:01 +0000 | |
|---|---|---|
| committer | 2024-05-08 09:29:57 +0000 | |
| commit | 1e43219cd13a46c2f6636e6c9707cea1970a7038 (patch) | |
| tree | 35ff03f010fbc3426404845ae3ebb1c02e943892 /floss/build/container-build-image.py | |
| parent | ba2e67285bf8d6e30fc779ae82f4bca606241ca8 (diff) | |
Floss: address clock drift in asrc
Since ISO packets are sent out at fixed intervals, the |RepeatingTimer|
utility determines an important time domain.
By default, it uses NTP-adjusted clocks, the difference between the
timestamps of which is compatible with
|CLOCK_REALTIME/MONOTONIC/BOOTTIME| and such, aligning with Android's
audio server.
However, CrAS uses |CLOCK_MONOTONIC_RAW|, which is another time domain,
unaffected by NTP, and this can cause xruns when the clock drift
accumulates, which does relatively quickly.
This CL adds a parameter to |RepeatingTimer| to allow scheduling based
on |CLOCK_MONOTONIC_RAW|, where despite each |DelayedCallback| can still
drift (since libchrome schedulers use NTP-adjusted clocks), in the long
run they are aligned.
Bug: 333334341
Test: m Bluetooth
Flag: EXEMPT floss only changes
Change-Id: Ie90952138d53a67171f526db55edd604306a96f6
Diffstat (limited to 'floss/build/container-build-image.py')
0 files changed, 0 insertions, 0 deletions