From 349869f73299f2c053f707f6fe3097296a133ce1 Mon Sep 17 00:00:00 2001 From: evgeny Date: Fri, 16 Oct 2026 16:21:11 +0200 Subject: [PATCH] Record stream startup validation and Windows follow-up --- doc/tasks.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/doc/tasks.md b/doc/tasks.md index c12eb84c..bb433946 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -4,6 +4,23 @@ ## Текущие задачи +[+] **Проверять микрофон и спрашивать перед переходом трансляции на CPU** — 16.10.2026: + По 4.log/6.log: GPU-кодировщики недоступны, WASAPI-микрофон камеры выдаёт frames=0, + повторное закрытие устройства блокировало GUI примерно на 4 с. Список кодеков больше не запускает пробное кодирование. + До первого корректного PCM не открываются видеокодировщики; тишина в полученном PCM допустима. + При отказе GPU показывается вопрос с отказом по умолчанию; согласие действует на кодек только текущей трансляции. + При отсутствии PCM в течение секунды трансляция прекращается с сообщением, без цикла повторного открытия микрофона. + Закрытие последнего audio backend идёт в worker (Windows COM и сохранение контекста до завершения учтены). + Проверены устаревший ответ, закрытие окна с вопросом, новый запуск без сохранённого согласия, + пропажа PCM после начала, отсутствие первого PCM и отзывчивость GUI при медленном закрытии. + GUI собран; Xvfb: 29/29; call_video_encoder, call_video_clock, audio_recovery: PASS. + check.sh: 156/156, proxy 9/9, burst/load PASS. Логи: /tmp/stream-start-{x11-final,related-check,full-check}.log. + +[ ] **Проверить трансляцию на Windows с RYS HFR USB2.0 Camera** — 16.10.2026: + Проверить на исходном устройстве сообщение об отсутствии PCM и отзывчивость окна при завершении WASAPI, + отказ/согласие на CPU после отказа NVENC. Автотесты воспроизводят условия отказа на Linux, не Windows-драйвер. + Причина frames=0 самого микрофона ещё не установлена; подробный AudioDiag сейчас реализован только для Linux. + [+] **Снять устаревший сон пира при пробуждении через новый линк** — 16.10.2026: После перезапуска SM colo2 сохранял peer_phase_timer прежнего соединения; normal keepalive нового линка не снимал его из-за ka_peer_sleeping=0. Merkle отменял сессии, объявление трансляции задерживалось примерно на 110 с.