diff --git a/doc/tasks.md b/doc/tasks.md index d4fc1977..cef36fa2 100644 --- a/doc/tasks.md +++ b/doc/tasks.md @@ -4,6 +4,17 @@ ## Текущие задачи +[+] **Постепенно увеличивать аудиобуфер при подтверждённых сбоях backend** — 16.10.2026: + AudioDevice получает WASAPI DATA_DISCONTINUITY, ALSA EPIPE и PulseAudio hole/overflow/underflow. + Два опроса со сбоями за 5с увеличивают период на 5мс; между изменениями минимум 5с, + первый 1с после запуска пропускается. Запрошенная полная ёмкость ограничена 100мс. + Начальные настройки Linux сохранены (capture 10мс); новая сессия/устройство возвращает исходный запрос. + Backend может округлить фактический размер: он и каждый шаг записываются в лог; повторные сбои агрегируются за 5с. + Перезапуск захвата выполняется без блокировки GUI, с сохранением RX звонка/рации и безопасным stop во время close. + Проверены реальные callback-уведомления, нижняя граница/лимит, reopen/backoff и uninit=700мс. + GUI собран; 7/7 аудиотестов PASS: /tmp/audio-buffer-final-tests.log. + Проверка слышимого результата с Windows-драйвером остаётся на следующем звонке пользователя. + [+] **Проверять поступление PCM микрофона в desktop-звонках и рации** — 16.10.2026: Секунда без первого/очередного корректного PCM отключает захват с понятным сообщением GUI. Цифровая тишина допустима; отсутствие callbacks, nullptr и frames=0 проверяются отдельно. @@ -17,16 +28,21 @@ /tmp/mic-stream-core-check-unrestricted.log, /tmp/stream-h265-progress.log. [ ] **Устранить неподвижный кадр Windows-трансляции на Android и зависание stop** — 16.10.2026: - Новые 4.log/6.log: Realtek PCM поступает; после согласия на CPU открывается libx265 3440×1440. - В 4.log остановка заканчивается сообщением закрытия микрофона, завершение video worker не видно. - Добавлены стадии video worker, счётчики преобразования/кодирования/публикации и этапы stop/join. - Соответствующий Samsung-лог: epoch=3fdca693c4ec22b6, KEY PTS=19237089, следующий output=19876744. - Декодированы два кадра, показан один; written=played=0, аудиоустройство закрыто, clock стоит на KEY, - сетевой запас растёт более 46с. Причина отсутствия первого PCM пока не установлена. - Добавлены первая/ожидающая аудиометка cursor и audioInputs/audioPts/needsAudio в Android-сводке. - Диагностический APK собран, unit-тесты прошли, установлен на Samsung RZ8R72MG64B. - Повторное открытие невозможно: источник уже отсутствует в канале «ннн»; запрошен новый запуск/stop Windows. - Логи: /tmp/stream-viewer-sm.log, /tmp/stream-viewer-diagnostic.log. Исправление этих двух зависаний ещё не подтверждено. + Новый 4.log и Samsung epoch=d8252b9a534ff713 установили цикл ожидания: + KEY=20669261, первый звук=21097059 (позже на 427798мкс), lookahead=80мс, written=played=0. + Cursor теперь прогревает аудио от фиксированной первой аудиометки, сохраняя ограниченный lookahead. + Регрессия с этими PTS и реальными RS/Opus/SoundTouch выдаёт PCM и продвигает часы; reset проверен отдельно. + В Windows videoLoop пишет stopped, но GUI застревает на join после возврата из функции. + Join video/audio вынесен в отдельный worker; GUI работает до полного выхода потоков, включая native TLS. + FIN отправляется после workers параллельно асинхронному закрытию микрофона; owner/lease сохраняются до завершения. + Проверяется cleanup native TLS с BlockingQueuedConnection к GUI, обычный stop и destructor. + Общие playback-тесты: 2/2 PASS. check.sh: 156/156, proxy 9/9, burst/load PASS (134с). + APK и Android unit-тесты собраны, Samsung RZ8R72MG64B обновлён. Старый источник виден в каталоге, + но отдаёт только остаток seq=918 без KEY, после чего новый viewer получает open timeout. + Нужна свежая трансляция/stop из Windows после пересборки; оба исправления на исходной паре устройств ещё не подтверждены. + Отдельно libx265 3440×1440 в Windows выдаёт примерно 2–3fps: это ограничение CPU остаётся. + Логи: /tmp/stream-viewer-new-run.log, /tmp/late-audio-test.log, /tmp/stream-viewer-after-update.log, + /tmp/stream-start-playback-tests.log, /tmp/stream-audio-stop-full-check.log. [+] **Проверять микрофон и спрашивать перед переходом трансляции на CPU** — 16.10.2026: По 4.log/6.log: GPU-кодировщики недоступны, WASAPI-микрофон камеры выдаёт frames=0,