Browse Source

Record verified AV1 playback fix and regression coverage

master
evgeny 4 days ago
parent
commit
5630bedc51
  1. 20
      doc/tasks.md

20
doc/tasks.md

@ -4,6 +4,26 @@
## Текущие задачи
[+] **Live: независимая подача decoder и устранение вечного ожидания AV1 на SM** — 14.10.2026:
Причина: Android подавал максимум три кадра и читал видео только на 80ms вперёд от остановившегося clock;
c2.android.av1-dav1d.decoder требовал заполнения своего конвейера. KEY уже был принят, но UI продолжал ждать KEY.
Общий cursor теперь запрашивает следующий видеокадр независимо от PTS показа; audio сохраняет временной lookahead.
Bridges готовят один ответ на запрос, получение ответа/AVAILABLE не создают скрытого prefetch.
Android StreamDecodePump держит один input и один output, обслуживает выход перед входом и использует готовность codec.
KEY/decoder ожидания разделены; старт clock/audio после первого decoded frame, low latency при поддержке.
Защитный guard учитывает наблюдённый decoder lead; EOF освобождает inflight metadata и не блокирует audio tail.
Desktop использует тот же контракт: один рабочий AVPacket, два готовых изображения, EAGAIN сохраняет вход,
FIN дренирует decoder до EOF. Кодек/rotation меняют video revision, аудиошкала сохраняется.
151 тест ядра без ошибок/пропусков, proxy/integration/burst/load прошли; check.sh — 126s.
Четыре CTest stream/audio timing прошли; восемь Kotlin pump-сценариев прошли, APK обоих ABI и vibechat собраны.
Проверены 4/8 входных кадров при замороженном clock, сетевые паузы, поздний ответ чтения, пустой EOS и guard.
Настоящие FFmpeg кадры с задержкой выхода в четыре кадра: запуск после 80ms и полный drain короткого потока из трёх кадров.
Реальный AV1 на SM-A525F: первый decoded frame через 67–117ms после KEY в проверенных запусках,
длительный показ и поворот работают; завершённый запуск показал 21609/21609 decoded/shown, без discarded.
Исправленный APK установлен на SM. Сетевой протокол и формат RS остаются прежними; colo2/Q8 не обновлялись.
Архитектура: `doc/stream.txt`, `doc/service_lifecycle.md`.
Логи: `/tmp/av1-pump-{full-check,ring-test,bridge-test,service-test,gui-tests,android-final-build,sm-live}.log`.
[+] **Live: публикация с desktop ChatGUI** — 14.10.2026:
Камера, микрофон, экран и окно через Qt >=6.6 Multimedia/FFmpeg; Wayland/XWayland использует системный портал.
Отдельный controller сохраняет эфир при закрытии окна, сырое превью обновляется до 30Hz независимо от encode.

Loading…
Cancel
Save