summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRios Kao <rioskao@google.com>2019-07-29 13:47:08 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-07-29 13:47:08 -0700
commit24f6d8e18f3663a86c11b81c77b1c93d5a010bf1 (patch)
treed7f51e2d05317203de77b4477877466070ab16fd
parentd609dd709c280b76ecd764eaf8dee979f7010cdd (diff)
parent03ff3215a9468ebe03700e6ecc98d9a4ca5e8ed9 (diff)
downloadandroid_hardware_knowles_athletico_sound_trigger_hal-24f6d8e18f3663a86c11b81c77b1c93d5a010bf1.tar.gz
android_hardware_knowles_athletico_sound_trigger_hal-24f6d8e18f3663a86c11b81c77b1c93d5a010bf1.tar.bz2
android_hardware_knowles_athletico_sound_trigger_hal-24f6d8e18f3663a86c11b81c77b1c93d5a010bf1.zip
Merge "sthal: incorrect order of microphone SRC plugin" into qt-r1-dev
am: 03ff3215a9 Change-Id: I25f2acc388f935b38a48362a7a3cd188411eaa5b
-rw-r--r--sound_trigger_hw_iaxxx.c36
1 files changed, 20 insertions, 16 deletions
diff --git a/sound_trigger_hw_iaxxx.c b/sound_trigger_hw_iaxxx.c
index 9247f00..1d322a2 100644
--- a/sound_trigger_hw_iaxxx.c
+++ b/sound_trigger_hw_iaxxx.c
@@ -1559,9 +1559,27 @@ static int restart_recognition(struct knowles_sound_trigger_device *stdev)
/*
* Reset mic and src package if sound trigger recording is active
- * If sound trigger recording isn't active, then we don't need to
- * recover src package.
+ * The src-mic, src-amp must be enable before AEC enable, because
+ * the endpoint sequence control.
+ *
+ * The stream 0 should be enable at last moment for the data alignment.
*/
+ if (stdev->is_mic_route_enabled == true) {
+ // recover src package if sound trigger recording is active
+ err = setup_src_plugin(stdev->odsp_hdl, SRC_MIC);
+ if (err != 0) {
+ ALOGE("failed to load SRC package");
+ }
+ err = enable_src_route(stdev->route_hdl, false, SRC_MIC);
+ if (err != 0) {
+ ALOGE("Failed to tear SRC-mic route");
+ }
+ err = enable_src_route(stdev->route_hdl, true, SRC_MIC);
+ if (err != 0) {
+ ALOGE("Failed to restart SRC-mic route");
+ }
+ }
+
if (stdev->is_music_playing == true &&
stdev->is_bargein_route_enabled == true) {
if (is_mic_controlled_by_audhal(stdev) == true) {
@@ -1603,20 +1621,6 @@ static int restart_recognition(struct knowles_sound_trigger_device *stdev)
}
if (stdev->is_mic_route_enabled == true) {
- // recover src package if sound trigger recording is active
- err = setup_src_plugin(stdev->odsp_hdl, SRC_MIC);
- if (err != 0) {
- ALOGE("failed to load SRC package");
- }
- err = enable_src_route(stdev->route_hdl, false, SRC_MIC);
- if (err != 0) {
- ALOGE("Failed to tear SRC-mic route");
- }
- err = enable_src_route(stdev->route_hdl, true, SRC_MIC);
- if (err != 0) {
- ALOGE("Failed to restart SRC-mic route");
- }
-
if (is_mic_controlled_by_audhal(stdev) == false) {
err = enable_mic_route(stdev->route_hdl, false, ct);
if (err != 0) {