hal: Add support for pre-processing effects

- Add support for AEC audio effect for voice communication.

Bug: 7241490
Bug: 8325112
Change-Id: Ic33d2f1f7be86484f748627d9afabbe10c369c21
Signed-off-by: Eric Laurent <elaurent@google.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/hal/audio_hw.h b/hal/audio_hw.h
index dec6ef2..cb2f817 100644
--- a/hal/audio_hw.h
+++ b/hal/audio_hw.h
@@ -15,6 +15,9 @@
  */
 
 #include <hardware/audio.h>
+#include <hardware/audio_effect.h>
+#include <audio_effects/effect_aec.h>
+#include <audio_effects/effect_ns.h>
 
 #include <tinyalsa/asoundlib.h>
 
@@ -70,6 +73,9 @@
     SND_DEVICE_IN_HANDSET_MIC  = SND_DEVICE_IN_BEGIN,
     SND_DEVICE_IN_SPEAKER_MIC,
     SND_DEVICE_IN_HEADSET_MIC,
+    SND_DEVICE_IN_HANDSET_MIC_AEC,
+    SND_DEVICE_IN_SPEAKER_MIC_AEC,
+    SND_DEVICE_IN_HEADSET_MIC_AEC,
     SND_DEVICE_IN_VOICE_SPEAKER_MIC,
     SND_DEVICE_IN_VOICE_HEADSET_MIC,
     SND_DEVICE_IN_HDMI_MIC,
@@ -187,6 +193,7 @@
     int device;
     audio_channel_mask_t channel_mask;
     audio_usecase_t usecase;
+    bool enable_aec;
 
     struct audio_device *dev;
 };