Browse Source

Record SM audio playback validation and native snapshot test flake

master
evgeny 5 days ago
parent
commit
d912d53979
  1. 18
      doc/tasks.md

18
doc/tasks.md

@ -4,6 +4,24 @@
## Текущие задачи
[ ] **Тесты: диагностировать нестабильную проверку TX snapshot в test_android_stream** — 14.10.2026:
В полном прогоне один раз упала строка 177: snapshot успешен и 0 < video_bytes < 500000 после test_clock_run_for(ua, 1000).
Сам publisher обновляет snapshot таймером 1000; текущий CHECK не выводит result/sample_us/video_bytes.
Отдельный повтор и следующий полный прогон прошли. Добавить значения и проверить ожидание конкретного снимка;
причина не установлена, Kotlin-аудиовывод этот C-тест не вызывает.
Логи прогонов: /tmp/stream-audio-check-host.log, /tmp/stream-audio-native-retry.log, /tmp/stream-audio-check-final.log.
[+] **Android live: убрать остановку просмотра SM при запуске AudioTrack** — 14.10.2026:
StreamAudioOutput владеет устройством и одним остатком PCM; WRITE_NON_BLOCKING вызывается один раз за проход worker.
Видео и control продолжают обслуживаться при частичной/нулевой записи; 100ms ожидание внутри write удалено.
Аппаратные часы берутся из playbackHeadPosition без экстраполяции; пауза сохраняет PCM, GAP сбрасывает весь timeline.
Запас PCM соответствует фактическому bufferSizeInFrames, короткий EOF получает ограниченную тишину без сдвига media PTS.
Проверены 13 регрессий аудиовывода; все 70 Kotlin-тестов и assembleDebug прошли.
APK установлен только на SM. Первый просмотр: 1203 показанных кадра за 43s, discarded=0 и underruns=0;
повторное открытие также работает, аппаратный старт занял 206ms и 185ms вместо прежнего ошибочного лимита 100ms.
Повтор полного прогона ядра: 151/151; отдельный нестабильный CHECK статистики вынесен выше.
Контракт: doc/stream.txt. Логи: /tmp/stream-audio-sm-final.log, /tmp/stream-audio-android-build.log.
[+] **Live: согласовать выдачу cursor с проверкой revision/KEY в media store** — 14.10.2026:
Каждый cursor хранит revision последнего выданного полного видео и пропускает новую только с полным KEY.
Неполный кадр прежней revision удаляется; аудио и чтение старой истории другими readers сохраняются.

Loading…
Cancel
Save