radio: Silero VAD + auto-PTT; chatgui/android: app icon and background
This commit is contained in:
1 parent
74ca98b38f
commit
1176411b79
51 files changed
+155505
-138
No files matched your search
@@ -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];
|
||||
|
||||
Reference in new issue
Block a user