From 54e672420cf584b99b984184e97dcc147366294a Mon Sep 17 00:00:00 2001 From: evgeny Date: Thu, 15 Oct 2026 14:02:03 +0200 Subject: [PATCH] Record measured output latency and validation of low-latency call output --- doc/tasks.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/doc/tasks.md b/doc/tasks.md index d6ff0231..88745c81 100644 --- a/doc/tasks.md +++ b/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 удалял старую очередь.