Skip to content
All fingerprint checks
Environment & locale

A playback AudioContext buffers more than an interactive one

Pim· Clearcote Research 2 min readCheck id playback-hint-buffers-more

baseLatency for latencyHint 'playback' is larger than for 'interactive'. N/A when the interactive buffer is already 12.5 ms or longer, on mobile and on non-Chromium engines (severity: info).

What a detector infers

An AudioContext created with latencyHint 'playback' asks for a larger buffer than one created with 'interactive', and Chrome honours the request in a way baseLatency exposes. On Windows the interactive context uses the device's own period (480 frames, 10 ms at 48 kHz), while playback rounds up to whole periods covering 20 ms (960 frames), so baseLatency reads 0.01 against 0.02; on Linux it measured 0.01 against 0.0232.

The rule lives in Chromium's audio_latency.cc and does not depend on anything the page does. A baseLatency fixed by a JavaScript override reads the same for both hints, which a real audio stack does not do unless the device period already covers 20 ms. To keep that case and anything near it out, the row is N/A once the interactive buffer is 12.5 ms or longer, and it reads desktop Chromium only.

The failing side was a constant-latency override written for the test rather than a captured tool, which is why the row is information only. audio-context-coherence asks whether baseLatency is a plausible number; this row asks whether it responds to the hint the page gave.

How to resolve it

Leave baseLatency to the audio stack. A constant cannot follow latencyHint, and the buffer sizes Chrome picks depend on the real device period.

What is audio fingerprinting?

Nearby checks in Environment & locale

See all 38 checks in Environment & locale
Who builds this test

Clearcote is a browser built for fingerprint coherence

It is a Chromium fork, maintained by the same people who wrote this reference. It ships as a compiled browser rather than as a stealth script injected into someone else's — which is a description of how it is built, and is not an argument about how it behaves on this check.

This audit takes no position on how Clearcote scores on Environment & locale checks, on this one, or anywhere else. It has no baseline corpus of other people's fingerprints to rank you against and no vendor scoreboard — nearly every check is self-referential, asking one browser the same question through two independent APIs and reporting whether both answers can be true at once. It runs identically on any browser, including ours. Run it on yours and read the result yourself.

See the other checks in Environment & locale — the family playback-hint-buffers-more belongs to.