summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrioskao <rioskao@google.com>2019-07-09 22:57:20 -0700
committerRios Kao <rioskao@google.com>2019-07-10 20:39:50 +0000
commit01e8ff0b6e0f7e618f86fbff80660b33fe91f0f5 (patch)
tree34d275030c764e7c934682be8edb7d735cfd2d7b
parent230ca99a444401388c1e4618bc2b412e900041ad (diff)
downloadandroid_hardware_knowles_athletico_sound_trigger_hal-01e8ff0b6e0f7e618f86fbff80660b33fe91f0f5.tar.gz
android_hardware_knowles_athletico_sound_trigger_hal-01e8ff0b6e0f7e618f86fbff80660b33fe91f0f5.tar.bz2
android_hardware_knowles_athletico_sound_trigger_hal-01e8ff0b6e0f7e618f86fbff80660b33fe91f0f5.zip
sthal: handle voice case with bt-sco device usecase
note: In bt-sco case, state machine won't enable concurrency to pause soundtrigger route. During the device inactive sequence, the rule from AHAL that will set stream inactive with voice call first. But STHAL didn't setup voice progress before. Handle this usecase to avoid the state machine enter unexpected state. Test: Verify Voice/VOIP usecase with btsco, usb hs. Bug: 136700036 Change-Id: Ib3ab03a9186bd5d129782ec992ebeeaa7d740bb4
-rw-r--r--sound_trigger_hw_iaxxx.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sound_trigger_hw_iaxxx.c b/sound_trigger_hw_iaxxx.c
index 3ca1505..83c08ba 100644
--- a/sound_trigger_hw_iaxxx.c
+++ b/sound_trigger_hw_iaxxx.c
@@ -3320,6 +3320,14 @@ int sound_trigger_hw_call_back(audio_event_type_t event,
// get previous mode
pre_mode = get_sthal_mode(stdev);
+ if (stdev->is_in_voice_voip_mode == false &&
+ stdev->is_voice_voip_stop == true &&
+ stdev->is_media_recording == true) {
+ ALOGD("%s: voice/voip didn't start, treat it as media recording inactive", __func__);
+ stdev->is_voice_voip_stop = false;
+ stdev->is_media_recording = false;
+ }
+
// update conditions
if (stdev->is_voice_voip_stop == true) {
ALOGD("%s: voice/voip device is inactive",