Record direct preview verification and camera teardown ownership
This commit is contained in:
1 parent
12ad2bf14b
commit
1815de059e
2 files changed
+23
-2
No files matched your search
@@ -4,6 +4,25 @@
|
||||
|
||||
## Текущие задачи
|
||||
|
||||
[+] **Live: прямое превью Android без собственного decoder** — 14.10.2026:
|
||||
Камера одновременно выводит в encoder Surface и TextureView; собственное превью больше не открывает
|
||||
stream viewer/cursor, MediaCodec decoder, AudioTrack и адаптивные часы воспроизведения.
|
||||
Attach/detach меняет только camera session, сохраняя encoder, audio, revision и origin;
|
||||
ON_STOP снимает preview output сразу, без ожидания Compose recomposition. Отказ preview сохраняет encoder-only эфир.
|
||||
Surface/texture удерживаются UI, ожидающими командами и camera sessions до окончания использования;
|
||||
CameraDevice.onClosed освобождает также sessions, для которых Android не доставил отдельный onClosed.
|
||||
TextureView сам учитывает sensor orientation; дополнительный UI rotation компенсирует лишь поворот дисплея.
|
||||
Повторный поворот сенсора убран, DisplayListener учитывает также 180° без изменения размеров окна.
|
||||
Диагностика показывает native transform, sensor/display/UI rotation, first frame, FPS, возраст кадров и освобождение outputs.
|
||||
REALTIME timestamp сравнивается с elapsedRealtimeNanos; UNKNOWN не выдаёт выдуманный абсолютный возраст.
|
||||
На SM проверены AV1, задняя/передняя камеры, ручной поворот, фон/возврат, закрытие/открытие preview,
|
||||
полная остановка и повторный запуск. Нет собственного decoder; типичный возраст кадров около 130ms
|
||||
вместо накопленных 6s; перед stop median=133.7ms, p95=175.7ms по 297 диагностическим samples.
|
||||
Stop освободил codec и все sessions, camera HandlerThread завершён; после проверки восстановлены AV1/main/0°.
|
||||
151 тест ядра и Kotlin unit tests прошли, в том числе 6 проверок preview; APK установлен на SM.
|
||||
Архитектура: `doc/stream.txt`, `doc/service_lifecycle.md`.
|
||||
Логи: `/tmp/direct-preview-{full-check,android-orientation-build,sm-live}.log`.
|
||||
|
||||
[+] **Live: независимая подача decoder и устранение вечного ожидания AV1 на SM** — 14.10.2026:
|
||||
Причина: Android подавал максимум три кадра и читал видео только на 80ms вперёд от остановившегося clock;
|
||||
c2.android.av1-dav1d.decoder требовал заполнения своего конвейера. KEY уже был принят, но UI продолжал ждать KEY.
|
||||
|
||||
Reference in new issue
Block a user