Document Android startup checks and remaining Linux probe delay
This commit is contained in:
1 parent
a4b9367344
commit
7ae204ba4f
2 files changed
+58
No files matched your search
@@ -1434,3 +1434,41 @@ phase=5/heartbeats=12001, артефакт /tmp/utun_encrypted_attachment_3XZGxj
|
||||
/tmp/video-surface-freeze-full-check.log, /tmp/video-surface-freeze-local-retry.log.
|
||||
Основное приложение на телефонах в этой проверке не заменялось; готовый исправленный APK —
|
||||
tools/chatgui-android/app/build/outputs/apk/debug/app-debug.apk. Сетевой звонок с новым APK ещё не проверен.
|
||||
|
||||
Fullscreen и подготовка Android, 20.10.2026
|
||||
В большом видео CallVideoPanel используется общий со StreamViewerScreen fitVideoFrame:
|
||||
сравнивается площадь вписывания без поворота и с поворотом на 90 градусов. Поворачивается
|
||||
только слой изображения, элементы управления и Android orientation lock остаются прежними.
|
||||
Thumbnail не поворачивается. Geometry unit tests проверяют обе ориентации, пропорции и границы.
|
||||
|
||||
Успешно завершённые encoder/decoder probes теперь кэшируются до завершения процесса.
|
||||
Прерванная/пустая проверка не кэшируется; параллельный вызов ждёт lock с проверкой отмены.
|
||||
После decoder probe сразу публикуются полные RX CAPS, затем отдельным open того же id — TX CAPS.
|
||||
Native regression test доказывает сохранение восьми RX кадров, received counter, wake и peer
|
||||
при обновлении возможностей. INFO video startup показывает prepare/receive_caps/duplex_caps,
|
||||
first_received/first_decoded/first_presented; video visible означает release на Surface, а не ACK.
|
||||
|
||||
Аппаратная команда CallVideoHevcProbe OUTPUT capabilities проверяет холодную матрицу и три
|
||||
повторных обращения, отмену до и после прогрева, совпадение проверенных режимов.
|
||||
На втором телефоне: RX 13647мс, собственный encode 10164мс, всего 23811мс;
|
||||
три повторных обращения к обеим матрицам — всего 306мкс. Основное приложение проба не перезапускала.
|
||||
APK/118 unit и C build PASS; check.sh 162/164: прежние local_transport TTL и encrypted_attachment
|
||||
phase=5/heartbeats=12001, артефакт /tmp/utun_encrypted_attachment_CcugjO.
|
||||
Логи: /tmp/call-video-startup-final-build.log, /tmp/call-video-startup-port.log,
|
||||
/tmp/call-video-startup-full-check.log. Новый APK установлен на Samsung и второй телефон.
|
||||
|
||||
Живой Linux -> Samsung звонок после обновления, id=e55c56204f7bf159:
|
||||
Linux ACTIVE 01:01:17.892, Samsung RX CAPS уже через 4мс, duplex через 23мс — оба cache hit.
|
||||
Первый кадр Samsung pulled через 10459мс, decoded через 10545мс, Surface ACK через 10648мс.
|
||||
На Linux собственная decoder matrix выполнялась 01:01:17.99–01:01:26.255, затем encoder matrix
|
||||
до 01:01:28.284; только после этого открылся порт и началась передача. Часы телефонов отличаются,
|
||||
поэтому задержки приведены из локальных elapsedMs, а не вычитанием wall timestamps разных машин.
|
||||
Логи: /tmp/call-startup-sm-first-call.log; tools/chatgui/build/vibechat.log (живой, может ротироваться).
|
||||
Эта задержка находится до передачи первого кадра на Linux. Android cache исправляет повторные
|
||||
проверки телефона, но не подготовку отправителя Linux и не холодную пробу после перезапуска Android.
|
||||
|
||||
Архитектурное ограничение следующего исправления: нулевой decode CAPS сейчас означает окончательное
|
||||
отсутствие decoder. Отправители выключают выбранную камеру при отсутствии совместимого режима.
|
||||
Поэтому раннее открытие encode-only порта при продолжающейся подготовке RX требует отличать
|
||||
подготовку от окончательного отказа либо перехода к проверке только выбранного режима при запуске.
|
||||
Непроверенные режимы нельзя молча выдавать за прошедшие аппаратную матрицу.
|
||||
@@ -4,6 +4,26 @@
|
||||
|
||||
## Текущие задачи
|
||||
|
||||
[ ] **Desktop: подготовка собственных decoder блокирует первую отправку камеры** — 20.10.2026:
|
||||
Звонок e55c56204f7bf159, локальный Linux: ACTIVE 01:01:17.892, decoder probes до 01:01:26.255,
|
||||
encoder probes до 01:01:28.284. Samsung уже опубликовал RX CAPS за 4мс; первый input через 10459мс,
|
||||
фактический показ через 10648мс. Источник задержки — последовательная матрица TX worker Linux.
|
||||
Нельзя просто публиковать decode=0: текущий отправитель второго устройства принимает это за
|
||||
окончательную недоступность режима и выключает камеру. Нужен согласованный контракт подготовки
|
||||
возможностей/проверки выбранного режима. Логи: /tmp/call-startup-sm-first-call.log,
|
||||
tools/chatgui/build/vibechat.log (живой файл). Подробности: doc/call_video.txt.
|
||||
|
||||
[+] **Android: fullscreen вдоль длинной стороны и повторное использование codec probes** — 20.10.2026:
|
||||
Общее вписывание со стримами поворачивает только изображение большого видео, интерфейс остаётся
|
||||
неподвижным; миниатюры не поворачиваются. Проверены пропорции и отсутствие обрезки: четыре unit tests.
|
||||
Завершённые codec probes сохраняются в процессе, RX публикуется до проверки своих encoder.
|
||||
INFO метки отделяют подготовку, первый input, decode и Surface ACK. Native test подтверждает,
|
||||
что обновление CAPS того же звонка сохраняет RX очередь/счётчик/уведомления/peer.
|
||||
На втором телефоне холодная подготовка 23811мс, три обращения к кэшу суммарно 306мкс.
|
||||
C/Android APK и 118 unit PASS; check.sh 162/164: прежние local_transport TTL и encrypted_attachment phase=5.
|
||||
APK установлен на оба телефона. Первый звонок после перезапуска процесса ещё требует полной пробы.
|
||||
Задержка первого Linux -> Samsung звонка локализована отдельно выше.
|
||||
|
||||
[+] **Samsung RX: фризы из-за поздней регистрации Surface ACK** — 20.10.2026:
|
||||
В живом логе 1.99 fps, ожидание ACK 538мс в медиане/1019мс максимум. Callback регистрировался
|
||||
в onSurfaceTextureUpdated после захвата списка текущего draw и ждал постороннего обновления окна.
|
||||
|
||||
Reference in new issue
Block a user