Document desktop stream tile behavior and verification
This commit is contained in:
1 parent
8673673fcb
commit
e3dbeee6a8
2 files changed
+31
-2
No files matched your search
@@ -1060,6 +1060,12 @@ Desktop:
|
||||
Пропавший источник дочитывает FIN/готовый хвост: дедлайн равен остатку media + 2s, не более 30s.
|
||||
После удаления последней плитки окно остаётся открытым и ждёт новые источники.
|
||||
- Desktop: квадратная сетка ceil(sqrt(count)), в том числе 2x2, 3x3, 4x4; при >16 расширяется дальше.
|
||||
Собственная плитка получает последний QVideoFrame от StreamPublishEngine до кодирования,
|
||||
без reader/decoder/Opus playback и входа в микшер. Нажатие открывает управление своей публикацией;
|
||||
закрытие управления или Esc возвращает фокус сетке, не останавливая публикацию.
|
||||
Нажатие на чужое видео разворачивает одну плитку во весь экран; повторный клик, Esc или кнопка
|
||||
«Все активные трансляции» возвращает сетку и прежний режим окна. Остальные players продолжают работать.
|
||||
Drag масштабированного изображения не считается кликом. Смена эпохи/удаление выбранной плитки возвращает сетку.
|
||||
Android выбирает строки/колонки по максимальной площади вписанного видео, без принуждения к квадрату.
|
||||
Плоский keyed Layout сохраняет Surface при перекладке. ON_STOP/закрытие освобождает readers;
|
||||
Surface/SurfaceTexture освобождаются только после выхода decoder worker.
|
||||
|
||||
+25
-2
@@ -4,6 +4,27 @@
|
||||
|
||||
## Текущие задачи
|
||||
|
||||
[+] **Chatgui: своя плитка без звука, раскрытие чужой и управление своей** — 20.10.2026:
|
||||
Собственная плитка показывает прямой QVideoFrame издателя, без reader, decoder и входа микшера.
|
||||
Клик по чужому видео разворачивает его во весь экран, повторный клик/Esc/кнопка возвращают сетку.
|
||||
Геометрия и видимость меняются без пересоздания удалённых players; drag при zoom не раскрывает плитку.
|
||||
Клик по своей плитке открывает окно публикации; его закрытие/Esc возвращает фокус прежней сетке.
|
||||
Смена эпохи/удаление развёрнутого источника возвращает сетку; свой источник удаляется без drain/retry.
|
||||
Головная C-сборка и chatgui PASS. test_stream_view 20/20, test_gui_language 9/9,
|
||||
test_stream_publish 23 PASS/15 SKIP (Xvfb/platform). Под Xvfb проверка сетки 5/5,
|
||||
отдельная проверка живой публикации и Esc 3/3: эпоха ab55772ddfdab987 сохранена, video PTS 143134→209876.
|
||||
Проверены доставка клика через нативное окно Qt, Esc с фокусом на ползунке и прежний reader после возврата.
|
||||
Рабочий chatgui не перезапускался; новая сборка применяется при следующем запуске.
|
||||
Логи: /tmp/desktop-stream-tile-final-build.log, /tmp/desktop-stream-tile-final-tests.log,
|
||||
/tmp/desktop-stream-grid-final-xvfb.log, /tmp/desktop-stream-controls-final-xvfb.log.
|
||||
|
||||
[ ] **Desktop publisher: проверить восстановление после недопустимого FPS в Xvfb-тесте** — 20.10.2026:
|
||||
Широкий screenAndWindowCapture прошёл закрытие управления с active=1 и продолжением публикации,
|
||||
затем не получил видео revision>=3 после запроса fps=61 и возврата engine.config().video.fps к 15.
|
||||
Перед этим применены VP9/rotation=90; worker продолжает кодировать generation=4.
|
||||
Причина и связь с UI-изменениями не установлены; отдельная проверка закрытия управления PASS.
|
||||
Лог /tmp/desktop-stream-controls-xvfb.log, тест tools/chatgui/tests/test_stream_publish.cpp.
|
||||
|
||||
[+] **Android: управление своей трансляцией из сетки с возвратом** — 20.10.2026:
|
||||
Своя плитка открывает экран управления поверх сетки; стрелка и системный Back возвращают просмотр.
|
||||
Удалённые readers остаются в композиции; собственный прямой preview передаётся между поверхностями.
|
||||
@@ -82,11 +103,13 @@
|
||||
Логи: /tmp/sm-fix-live.log, /tmp/sm-fix-evidence.json, /tmp/sm-fix-native-test.log,
|
||||
/tmp/sm-fix-android-build.log, /tmp/sm-fix-desktop-test.log; снимок /tmp/sm-fix-preview.png.
|
||||
|
||||
[ ] **Multiview desktop: Escape из плитки останавливает только её player** — проверка 20.10.2026:
|
||||
[+] **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 тестом.
|
||||
QShortcut сетки с WidgetWithChildrenShortcut обрабатывает Escape до дочернего player.
|
||||
gridLocalPreviewAndTileNavigation проверяет фокус на QSlider, возврат из раскрытой плитки и сохранение reader.
|
||||
Проверки offscreen и Xvfb PASS; /tmp/desktop-stream-grid-final-xvfb.log.
|
||||
Временный стенд: /tmp/multiview-review/test_stream_view.cpp; лог /tmp/multiview-review/lifecycle.log.
|
||||
|
||||
[ ] **Multiview desktop: terminal CLOSED оставляет аудиовход и timer** — проверка 20.10.2026:
|
||||
|
||||
Reference in new issue
Block a user