Reduce live caller latency and improve reliability

- Replace per-callback async task spawning with persistent queue-based sender
- Buffer host mic to 60ms chunks (was 21ms) to reduce WebSocket frame rate
- Reduce server ring buffer prebuffer from 150ms to 80ms
- Reduce browser playback jitter buffer from 150ms to 100ms

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-05 16:47:17 -07:00
parent af8606b5b7
commit eaedc4214b
4 changed files with 48 additions and 21 deletions

View File

@@ -84,7 +84,7 @@ class PlaybackProcessor extends AudioWorkletProcessor {
this.readPos = 0;
this.available = 0;
this.started = false;
this.jitterMs = 150; // buffer 150ms before starting playback
this.jitterMs = 100; // buffer 100ms before starting playback
this.jitterSamples = Math.floor(16000 * this.jitterMs / 1000);
this.port.onmessage = (e) => {