Browse Source

Record measured output latency and validation of low-latency call output

master
evgeny 4 days ago
parent
commit
54e672420c
  1. 15
      doc/tasks.md

15
doc/tasks.md

@ -19,7 +19,20 @@
test_call_jitter проверяет перебой 80мс, рост/спад резерва и отсутствие новых underrun после восстановления.
Семь профильных C++-тестов и полный check.sh (ядро/proxy/burst/load) проходят; desktop/APK собраны,
Android unit-тесты проходят. В периодический лог JB добавлены режим, точный tempo, фаза и число удалений.
Осталось установить и проверить живой звонок: субъективный звук, реальный запас и A/V на двух устройствах.
APK установлен на оба телефона. В живом desktop -> Samsung звонке стабильный direct: tempo=1, phase=0,
JB reserve=20мс, AudioTrack queue=20мс, hardware underrun=0; акустический end-to-end ещё не измерен.
Дополнительная задержка обнаружена в Android output: AudioFlinger 113–114мс при app queue=20мс,
обычный PRIMARY без FAST. В сохранённой трассе timestamp даёт 137–140мс при app queue=40мс.
Android теперь запрашивает PERFORMANCE_MODE_LOW_LATENCY, логирует принятый режим и задержку outputUs;
аппаратный timestamp используется для A/V независимо от debug. При потере timestamp часы устаревают,
возврат к head после аппаратного якоря запрещён; смена маршрута инвалидирует старую метку.
После нулевой AudioTrack.write повторный JNI progress не вызывается; PCM не отбрасывается.
Desktop: готовая PCM-очередь адаптируется 40 -> 20мс, учитывает полный callback, растёт при недостачах;
неудачные пробы уменьшают частоту последующих попыток. Частичный блок учитывается отдельно.
Оба UI показывают очередь приложения и полный аудиовыход (он уже включает очередь, складывать нельзя).
100 Android unit-тестов и 10 профильных C++/Qt-тестов прошли; ядро, desktop и APK собраны.
Обновление установлено на SM_A525F и Q8_DA6B8P01, приложения запущены, непрерывный logcat пишется в /tmp/call-output-*-live.log.
Осталось перезапустить ChatGUI и проверить новый звонок: фактический FAST, задержку, underrun и A/V после смены динамика.
[x] **Завершение звонка и видеопорта после обрыва транспорта** — 15.10.2026:
Трасса test_call доказала потерю HANGUP при смене эпохи сигналинга: router reset удалял старую очередь.

Loading…
Cancel
Save