Increase TX web mic stall threshold to 6 ticks (~64ms)

Gives 44ms jitter margin for WiFi connections. Sound card mic path
is unaffected — StallCount never increments when FOnPullMic fills
the ring every tick.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-21 20:33:21 +03:00
co-authored by Claude Sonnet 4.6
parent 65545982e3
commit 36fa914e2f
+4 -4
View File
@@ -618,16 +618,16 @@ begin
// лишний TX-блок тишины вместо ожидания полного 512-sample блока.
Avail := (FEngine.FTXMicHead - FEngine.FTXMicTail + TX_MIC_RING)
and (TX_MIC_RING - 1);
// Тишину генерируем только после 4 подряд пустых тиков (~43 ms).
// Порог 43 ms даёт 22 ms запаса относительно периода Opus-фрейма (20 ms),
// что покрывает джиттер планировщика ОС (~10 ms) и сетевой джиттер.
// Тишину генерируем только после 6 подряд пустых тиков (~64 ms).
// Порог 64 ms даёт 44 ms запаса относительно периода Opus-фрейма (20 ms),
// что покрывает WiFi-джиттер до ~40 ms без ложного инжекта тишины.
// При реальной потере пакета тишина всё равно инжектируется.
if not DidBlock then
begin
if Avail = 0 then
begin
Inc(StallCount);
if StallCount >= 4 then
if StallCount >= 6 then
FEngine.ProcessTXBlock;
end
else