diff --git a/doc/tasks.md b/doc/tasks.md index 02f72bdc..f42ba293 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -4,6 +4,24 @@ ## Текущие задачи +[+] **Своя трансляция: глобальная кнопка управления и фильтр выбора** — 20.10.2026: + Android/chatgui показывают красную камеру в шапках всех групп, пока локальный publisher действует; + Android также показывает её в шапке главного экрана. Сетевой каталог не управляет видимостью кнопки. + Нажатие открывает действующую публикацию: Android выбирает её канал, desktop открывает окно publisher. + Завершение скрывает кнопку; STARTING/STOPPING оставляют управление доступным до освобождения ресурсов. + Выбор одиночной трансляции и счётчик просмотра исключают self; общая сетка сохраняет собственный preview. + Головная C-сборка, chatgui и финальный APK PASS; Android unit 129/129. + Desktop test_gui_language PASS; test_stream_publish 23 PASS/14 SKIP (сценарии Xvfb/platform вне этого прогона). + Итоговый APK установлен на SM-A525F. В Stream-Camera-Test (только свой узел) проверены: + иконка главного экрана, иконка другой группы ннн, переходы обоих экранов в нужный канал публикации; + selector remote=0/ownExcluded=1, собственное имя отсутствует, Watch all доступен. + При остановке видимость LIVE → STOPPING → false; UI подтверждает скрытие на главном экране и в другой группе. + Ошибок stream/video и навигации нет. Пользовательская публикация перед обновлением остановлена с явного согласия; + отдельная тестовая публикация также завершена. Рабочий desktop-процесс не перезапускался. + Логи: /tmp/stream-header-final-sm.log, /tmp/stream-header-sm-live.log, + /tmp/stream-header-final-android-build.log, /tmp/stream-header-final-desktop-build.log, + /tmp/stream-header-desktop-tests.log, /tmp/stream-header-desktop-publish-tests.log. + [+] **Android multiview: собственная трансляция напрямую и без местного звука** — 20.10.2026: Собственная плитка получает Camera2 preview до кодирования, без reader/decoder/Opus playback/mixer input. Общий StreamPreviewPlayback используется экраном публикации и сеткой; полноэкранный режим сохраняет target.