radio: Silero VAD + auto-PTT; chatgui/android: app icon and background

This commit is contained in:
evgeny committed 2026-09-29 16:19:25 +03:00
1 parent 74ca98b38f
commit 1176411b79
51 files changed
+155505 -138

No files matched your search

+10 -2
View File
@@ -64,6 +64,11 @@ int RadioAudioEngine::start(quint64 groupId) {
return -1;
}
/* VAD авто-PTT: в этом режиме захват фидится постоянно, решение «говорить» — в сервисном слое. */
m_vadMode = radio_audio_vad_mode() ? true : false;
if (m_vadMode)
DEBUG_INFO(DEBUG_CATEGORY_DEBUG, "RadioAudio: VAD auto-PTT enabled grp=%016llx", (unsigned long long)groupId);
m_captureBuf.assign((size_t)RADIO_AUDIO_FRAME_SAMPLES * m_captureChannels, 0);
m_capturePos = 0;
@@ -188,9 +193,12 @@ void RadioAudioEngine::teardownDevice() {
void RadioAudioEngine::captureCallback(const void* in, unsigned int frames) {
const int16_t* in16 = (const int16_t*)in;
if (!in16 || !m_talking.load()) return;
if (!in16) return;
/* VAD-режим: захват фидится постоянно (решение «говорить» — в radio_audio).
* Обычный PTT: только когда зажата кнопка. */
if (!m_vadMode.load() && !m_talking.load()) return;
/* захват: копим FRAME_SAMPLES * captureChannels → encode+send. Только когда PTT зажата. */
/* захват: копим FRAME_SAMPLES * captureChannels → encode+send. */
int totalIn = (int)frames * m_captureChannels;
for (int i = 0; i < totalIn; i++) {
m_captureBuf[m_capturePos++] = in16[i];