A playback AudioContext buffers more than an interactive one
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.
Nearby checks in Environment & locale
- The local voices come from the claimed OS's speech engine
local-voice-vendor-vs-osVoices marked localService are the host's own speech engine, enumerated by the browser from the operating system, and their names say where… - Intl's default locale is a UI locale desktop Chrome ships
intl-is-a-chrome-ui-localeChrome's Intl default locale — what new Intl.DateTimeFormat().resolvedOptions().locale returns — is not the operating system's region. - The browser's own UI strings are in the language Intl resolves
validation-message-vs-intlThe messages a browser writes itself — 'Please fill in this field.' under an empty required input — come from the renderer's resource… - MediaCapabilities powerEfficient agrees with WebCodecs prefer-hardware
power-efficient-vs-webcodecsMediaCapabilities.decodingInfo() reports whether decoding a format would be power-efficient, and WebCodecs' VideoDecoder.isConfigSupported()… - AudioContext latencies are values Chrome's audio stack can produce
audio-latency-render-stateTwo AudioContext latencies are produced by the audio stack at particular moments, and their values are constrained in ways a constant is… - A granted geolocation fix carries a real accuracy
geolocation-has-accuracyEvery position a real location provider returns comes with an accuracy: the radius, in metres, within which the true position probably lies. - The field-trial state of this build is reported (XSLT warning banner)
xslt-banner-readoutChrome is deprecating XSLT, and a fresh Chrome 155 profile shows it: an XML document styled with XSLT is rendered with a red deprecation… - Intl timezone resolves
timezone-presentThis check reads Intl.DateTimeFormat().resolvedOptions().timeZone and records it alongside -new Date().getTimezoneOffset() and…
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.
