ew8bakandClaude Sonnet 4.6 ebca3b4137 Fix TX mic DUC starvation: add 512-sample staging buffer
Opus decodes 960 samples per frame; the TX DSP thread consumes
512-sample blocks. 960 mod 512 = 448, so the ring always kept a
sub-threshold tail, causing TTXDSPThread to skip ticks and starve
the DUC hardware every ~20 ms.

FlushMicToCallback accumulates samples in FMicStageBuf and calls
FOnWebMic only when a full 512-sample block is ready. The remainder
stays in the buffer until the next Opus frame arrives. This ensures
FTXMicRing always receives data in multiples of 512, eliminating
the 0 < Avail < 512 dead-zone entirely.

FMicStageLen is reset together with FMicPreRollPos on new TX session
to prevent stale samples from a previous session mixing in.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 18:51:21 +03:00
2026-03-26 22:50:55 +03:00
2026-03-09 18:48:24 +03:00
2026-04-22 22:09:42 +03:00
2026-05-20 10:01:41 +03:00
2026-05-21 15:38:56 +03:00
2026-05-07 22:49:52 +03:00
2026-05-02 13:39:46 +03:00
2026-05-02 13:39:46 +03:00
2026-05-21 14:23:08 +03:00
2026-03-09 18:48:24 +03:00
2026-03-09 18:48:24 +03:00
2026-05-21 15:19:43 +03:00
2026-05-21 15:42:59 +03:00
S
Description
No description provided
Readme GPL-2.0
12 MiB
Languages
Pascal 96.4%
Python 2.9%
Shell 0.6%