diff options
author | rioskao <rioskao@google.com> | 2019-07-09 22:57:20 -0700 |
---|---|---|
committer | Rios Kao <rioskao@google.com> | 2019-07-10 20:39:50 +0000 |
commit | 01e8ff0b6e0f7e618f86fbff80660b33fe91f0f5 (patch) | |
tree | 34d275030c764e7c934682be8edb7d735cfd2d7b | |
parent | 230ca99a444401388c1e4618bc2b412e900041ad (diff) | |
download | android_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.c | 8 |
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", |