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