diff --git a/doc/tasks.md b/doc/tasks.md index 5bbc8488..6e5836f8 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -4,6 +4,27 @@ ## Текущие задачи +[ ] **Multiview desktop: Escape из плитки останавливает только её player** — проверка 20.10.2026: + При fullscreen сетке и фокусе на QSlider событие получает StreamPlayerWindow::keyPressEvent. + embedded не учитывается: close() скрывает плитку и снимает reader, а сетка остаётся fullscreen. + Воспроизведено: grid_fullscreen=1, tile_hidden=1, tile_attached=0, tiles=1. + Передавать Escape общему окну; покрыть фокус на дочерних controls тестом. + Временный стенд: /tmp/multiview-review/test_stream_view.cpp; лог /tmp/multiview-review/lifecycle.log. + +[ ] **Multiview desktop: terminal CLOSED оставляет аудиовход и timer** — проверка 20.10.2026: + fail(reason, false) ставит complete=true/failed=false, но tick снимает audio только по ended/failed. + После STREAM_CLOSE_GROUP воспроизведено complete=1, failed=0, attached=1, timer=1. + При valid=0 каталог сохраняет плитки, поэтому состояние живёт до ручного закрытия окна. + Отделить завершение от разрешения retry и освобождать output при любом terminal CLOSED. + Временный regression-проверочный стенд и лог: /tmp/multiview-review/test_stream_view.cpp, + /tmp/multiview-review/lifecycle.log. Исходники реализации при проверке не менялись. + +[ ] **Проверить нестабильные паузы звука в test_stream_view** — 20.10.2026: + В полном диагностическом прогоне realH264RenderingAndClose: silenceGaps=4 вместо 2, + audio gap cause=pcm_short, got=288/480; /tmp/multiview-review/desktop-review.log. + Изолированный повтор исходного теста PASS: /tmp/multiview-review/audio-original.log. + Причина и связь с multiview пока не установлены; не считать изолированный PASS устранением. + [+] **Просмотр всех активных трансляций: desktop, затем Android** — 20.10.2026: Пункт в меню канала открывает автоматически обновляемую сетку; пустое окно ждёт новые источники. Desktop: 2x2/3x3/4x4 с расширением по числу плиток; Android: раскладка по доступной площади экрана.