Align audio ownership comments with lease and recovery behavior

This commit is contained in:
evgeny committed 2026-10-27 14:28:02 +01:00
1 parent 29e2afc3ce
commit 4389b511bf
3 files changed
+3 -3

No files matched your search

+1 -1
View File
@@ -57,7 +57,7 @@ private:
std::atomic<bool> m_closeDone{true}; // Worker отпустил Session; thread может ещё требовать join.
Ready m_ready; // GUI-подготовка потребителя при открытии/восстановлении.
std::function<void()> m_stopped; // GUI-остановка подготовленного потребителя после завершения callback.
Callback m_callback; // Аппаратная доставка PCM после successful ready.
Callback m_callback; // Аппаратная доставка PCM после успешного ready.
Role m_role = Role::Radio; // Выбранный слот текущей подписки.
bool m_prepared = false; // ready успешно выполнен и должен быть уравновешен stopped.
};
+1 -1
View File
@@ -75,7 +75,7 @@ private:
QString m_captureId; // Запрошенный backend ID, только GUI.
QString m_captureError; // Fatal отсутствие PCM; цифровая тишина считается рабочим входом.
AudioDevice m_capture; // Единственное устройство захвата, без собственного playback device.
AudioCaptureLease m_microphone; // Исключительное владение микрофоном, включая асинхронное закрытие.
AudioCaptureLease m_microphone; // Shared-допуск: исключает publisher до завершения capture/асинхронного закрытия.
VoiceAudioIo m_voice; // Capture/RX workers и ограниченные очереди PCM/команд.
bool m_outputAttached = false; // Источник зарегистрирован в микшере, устройство может ещё восстанавливаться.
QTimer m_recoveryTimer; // Опрос устройств/PCM каждые200мс, после stop также ждёт close worker.
+1 -1
View File
@@ -83,7 +83,7 @@ private:
void updateTalking(); // Объединяет два ручных флага, посылает упорядоченную PTT-команду и talkingChanged при изменении.
bool m_buttonTalking = false, m_hotkeyTalking = false; // GUI-поток
void pauseDevices(); // Перед reset контекста SoundManager закрывает capture, отсоединяет output, сбрасывает playback.
void recoverDevices(); // При активной сессии восстанавливает устройства/AEC; отсутствие PCM 1с блокирует capture до смены входа/start.
void recoverDevices(); // Восстанавливает устройства/AEC; отсутствие PCM 1с блокирует capture до смены входа/новой сессии.
void openCapture(); // Подписка Role::Radio; ready/stopped запускают/останавливают core capture и его worker.
void updateState(); // Снимает статус ядра и готовность устройств, уведомляет GUI при изменениях.
void reconfigureCapture(); // Переоткрывает только capture, сохраняя RX/output и ручной запрос PTT.