fix: web bridge low-latency config — disable silence suppression, reduce jitter buffer
PTT mode was causing delayed/lost audio because: 1. Silence suppression ate the start of speech after PTT release 2. Jitter buffer target depth was too high for interactive use Web bridge now uses: - suppression_enabled: false (PTT handles silence at browser level) - jitter_target: 3 (60ms vs ~1s default) - jitter_max: 20 (400ms cap) - jitter_min: 1 (start playing after 20ms) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -279,7 +279,15 @@ async fn handle_ws(socket: WebSocket, room: String, state: AppState) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let config = CallConfig::default();
|
// Web bridge config: low latency for PTT, disable silence suppression
|
||||||
|
// (PTT handles silence at the browser level, no need to suppress here)
|
||||||
|
let config = CallConfig {
|
||||||
|
suppression_enabled: false,
|
||||||
|
jitter_target: 3, // 60ms instead of default (~1s)
|
||||||
|
jitter_max: 20, // 400ms cap
|
||||||
|
jitter_min: 1, // start playing after 20ms
|
||||||
|
..CallConfig::default()
|
||||||
|
};
|
||||||
let encoder = Arc::new(Mutex::new(CallEncoder::new(&config)));
|
let encoder = Arc::new(Mutex::new(CallEncoder::new(&config)));
|
||||||
let decoder = Arc::new(Mutex::new(CallDecoder::new(&config)));
|
let decoder = Arc::new(Mutex::new(CallDecoder::new(&config)));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user