From fe90d939ea0cc15f69def7aa79fa4a299e6fe5bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Fri, 9 Apr 2021 17:44:41 -0400 Subject: [PATCH] alsa: use echo cancellation Change-Id: Ied9f4a735da074e3519083b2faaac4a1b5551ab7 --- src/media/audio/alsa/alsalayer.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/media/audio/alsa/alsalayer.cpp b/src/media/audio/alsa/alsalayer.cpp index 980ce41318..e64491e644 100644 --- a/src/media/audio/alsa/alsalayer.cpp +++ b/src/media/audio/alsa/alsalayer.cpp @@ -102,7 +102,9 @@ AlsaLayer::AlsaLayer(const AudioPreference& pref) , is_playback_open_(false) , is_capture_open_(false) , audioThread_(nullptr) -{} +{ + setHasNativeAEC(false); +} AlsaLayer::~AlsaLayer() { @@ -121,11 +123,19 @@ AlsaLayer::~AlsaLayer() void AlsaLayer::run(const std::atomic<bool>& isRunning) { + if (playbackHandle_) + playbackChanged(true); + if (captureHandle_) + recordChanged(true); + while (status_ == Status::Started and isRunning) { playback(); ringtone(); capture(); } + + playbackChanged(false); + recordChanged(false); } // Retry approach taken from pa_linux_alsa.c, part of PortAudio -- GitLab