Add server AEC option

This commit is contained in:
Xiaoxia
2025-05-09 14:00:26 +08:00
parent 7ea67146d5
commit be18c1aa04
11 changed files with 47 additions and 26 deletions

View File

@@ -375,11 +375,19 @@ void Application::Start() {
}
codec->Start();
#if CONFIG_USE_AUDIO_PROCESSOR
xTaskCreatePinnedToCore([](void* arg) {
Application* app = (Application*)arg;
app->AudioLoop();
vTaskDelete(NULL);
}, "audio_loop", 4096 * 2, this, 8, &audio_loop_task_handle_, realtime_chat_enabled_ ? 1 : 0);
}, "audio_loop", 4096 * 2, this, 8, &audio_loop_task_handle_, 1);
#else
xTaskCreate([](void* arg) {
Application* app = (Application*)arg;
app->AudioLoop();
vTaskDelete(NULL);
}, "audio_loop", 4096 * 2, this, 8, &audio_loop_task_handle_);
#endif
/* Wait for the network to be ready */
board.StartNetwork();
@@ -514,7 +522,7 @@ void Application::Start() {
});
bool protocol_started = protocol_->Start();
audio_processor_->Initialize(codec, realtime_chat_enabled_);
audio_processor_->Initialize(codec);
audio_processor_->OnOutput([this](std::vector<int16_t>&& data) {
background_task_->Schedule([this, data = std::move(data)]() mutable {
if (protocol_->IsAudioChannelBusy()) {