diff --git a/src/media/audio/alsa/alsalayer.cpp b/src/media/audio/alsa/alsalayer.cpp
index 980ce4131898eddef94a540c2403b08bc69346f5..e64491e6446364ef5ebb0a1562eba20fd030d817 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