v1.5.1 — Audio-clock offset drift tracking
Pre-release
⚠️ Deprecated — do not use. This release predates v1.7.6 and contains measurement/decode bugs fixed in later versions. Please use the latest release.
Released 2026-05-29.
Fixes
-
Audio-clock offset now tracks drift instead of freezing at a one-shot value (#56, #52). The audio-clock →
performance.now()offset used to translate worklet chunk stamps was sampled once per wired source and held constant for the session. It now re-samplesAudioContext.getOutputTimestamp()at most once per 2 s and EMA-tracks the result (alpha 0.2). Two consequences:- Slow ADC-clock drift (~10 ms/hr) is followed rather than accumulating unbounded within a session.
- A one-shot read taken while the main thread was momentarily busy — especially the receipt-time fallback — no longer bakes that jitter in as a permanent bias that could push decoded-frame timestamps intermittently past the 200 ms freshness gate (a possible cause of spurious lock-loss flicker).
Chunk-to-chunk deltas are preserved exactly, so the LSQ carrier-rate classifier is unaffected.
Investigation note: #56 (glitching after a significant timecode change) is not closed by this — the offset path was ruled a weak fit for that trigger; this change removes it from suspicion so future repros isolate the real (likely decoder-state) cause.
Full changelog: v1.5.0...v1.5.1