mirror of
https://git.vladimir.cc/vladimir/ewsdr.git
synced 2026-08-25 18:43:51 +00:00
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:
+4
-4
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user