Expose SoundTouch starvation with a 20 ms jitter reserve

This commit is contained in:
evgeny committed 2026-10-15 12:39:00 +02:00
1 parent f1aec9bb2d
commit ff16adda17
2 files changed
+42 -16

No files matched your search

+11
View File
@@ -4,6 +4,17 @@
## Текущие задачи
[ ] **Снижение минимального запаса JB звонка до 20мс** — 15.10.2026:
Нижняя граница общего call_jitter изменена с 60 до 20мс; адаптация по 10-секундному окну сохранена.
Изменение не установлено: test_call_jitter обнаружил недостачи PCM даже при ровной доставке после догона.
Диагностика: tick=841, PCM=384/480, depth_before=37мс, encoded=0, processing=30мс, reserve=20мс, spread=0.
Регулятор считает внутреннее накопление SoundTouch доступным запасом и ускоряет до нехватки готового PCM.
Требуется отдельно учитывать сетевой запас 20мс и необходимое накопление обработки при управлении темпом/старте.
Порог SoundTouch зависит от tempo; проверять его по параметрам движка, а не возвращать скрытый минимум 60мс.
Дальше: тест ровной доставки для pull 5/10/20мс, старт/возобновление, рост и спад джиттера, burst и A/V clock.
test_call_video_clock проходит; test_call_jitter намеренно сохраняет строгую проверку отсутствия недостач.
По правилу AGENTS.md реализация остановлена на обнаруженной нестыковке; рабочие приложения остались прежними.
[x] **Завершение звонка и видеопорта после обрыва транспорта** — 15.10.2026:
Трасса test_call доказала потерю HANGUP при смене эпохи сигналинга: router reset удалял старую очередь.
HANGUP/CANCEL/DECLINE теперь подтверждаются END_ACK и повторяются каждые 300мс, максимум 20с.