summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2020-04-29 03:56:38 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-04-29 03:56:38 +0000
commit205110f9a4cf94c09b9627ea8d47b602b834736b (patch)
tree8b2fd4b6deda33d2c30ac218423f33d9cae290e9
parent00275876688c18fdc043ed5824f33769d109013e (diff)
parent70471b998d1ef90ea954a58ec718e1efd9744a2a (diff)
downloadsound_trigger_hal-205110f9a4cf94c09b9627ea8d47b602b834736b.tar.gz
Merge "sthal: correct the detected keyword id transition" into rvc-dev am: de1c0d6ce3 am: 70471b998d
Change-Id: I4ed29efd342a203331093403a2dfa45997c6eb9d
-rw-r--r--sound_trigger_hw_iaxxx.c40
1 files changed, 15 insertions, 25 deletions
diff --git a/sound_trigger_hw_iaxxx.c b/sound_trigger_hw_iaxxx.c
index 3c11f8a..91f78fc 100644
--- a/sound_trigger_hw_iaxxx.c
+++ b/sound_trigger_hw_iaxxx.c
@@ -170,7 +170,6 @@ struct knowles_sound_trigger_device {
sound_trigger_uuid_t entity_model_uuid;
sound_trigger_uuid_t wakeup_model_uuid;
- int last_detected_model_type;
bool is_mic_route_enabled;
bool is_bargein_route_enabled;
bool is_chre_loaded;
@@ -537,7 +536,6 @@ static char *stdev_generic_event_alloc(int model_handle, void *payload,
event->common.audio_config.format = AUDIO_FORMAT_PCM_16_BIT;
if (payload && payload_size > 0) {
- ALOGD("%s: Attach payload in the event", __func__);
event->common.data_size = payload_size;
event->common.data_offset =
sizeof(struct sound_trigger_generic_recognition_event);
@@ -2315,12 +2313,8 @@ static void *callback_thread_loop(void *context)
err = get_event(stdev->odsp_hdl, &ge);
if (err == 0) {
if (ge.event_id == OK_GOOGLE_KW_ID) {
- ALOGD("Eventid received is OK_GOOGLE_KW_ID %d",
- OK_GOOGLE_KW_ID);
kwid = OK_GOOGLE_KW_ID;
} else if (ge.event_id == AMBIENT_KW_ID) {
- ALOGD("Eventid received is AMBIENT_KW_ID %d",
- AMBIENT_KW_ID);
kwid = AMBIENT_KW_ID;
reset_ambient_plugin(stdev->odsp_hdl);
} else if (ge.event_id == OSLO_EP_DISCONNECT) {
@@ -2358,18 +2352,13 @@ static void *callback_thread_loop(void *context)
}
break;
} else if (ge.event_id == ENTITY_KW_ID) {
- ALOGD("Eventid received is ENTITY_KW_ID %d",
- ENTITY_KW_ID);
kwid = ENTITY_KW_ID;
} else if (ge.event_id == WAKEUP_KW_ID) {
- ALOGD("Eventid received is WAKEUP_KW_ID %d",
- WAKEUP_KW_ID);
kwid = WAKEUP_KW_ID;
} else {
ALOGE("Unknown event id received, ignoring %d",
ge.event_id);
}
- stdev->last_detected_model_type = kwid;
break;
} else {
ALOGE("get_event failed with error %d", err);
@@ -3909,24 +3898,25 @@ int sound_trigger_hw_call_back(audio_event_type_t event,
} else {
bool keyword_stripping_enabled = false;
int stream_end_point;
- switch (stdev->last_detected_model_type) {
- case OK_GOOGLE_KW_ID:
- stream_end_point = CVQ_ENDPOINT;
- break;
- case AMBIENT_KW_ID:
- case ENTITY_KW_ID:
- stream_end_point = MUSIC_BUF_ENDPOINT;
- break;
- default:
- stream_end_point = CVQ_ENDPOINT;
- break;
- };
+ if (check_uuid_equality(stdev->models[index].uuid,
+ stdev->hotword_model_uuid)) {
+ stream_end_point = CVQ_ENDPOINT;
+ } else if (check_uuid_equality(stdev->models[index].uuid,
+ stdev->ambient_model_uuid)) {
+ stream_end_point = MUSIC_BUF_ENDPOINT;
+ } else if (check_uuid_equality(stdev->models[index].uuid,
+ stdev->entity_model_uuid)) {
+ stream_end_point = MUSIC_BUF_ENDPOINT;
+ } else {
+ stream_end_point = CVQ_ENDPOINT;
+ }
stdev->adnc_strm_handle[index] = stdev->adnc_strm_open(
keyword_stripping_enabled, 0,
stream_end_point);
if (stdev->adnc_strm_handle[index]) {
- ALOGD("Successfully opened adnc strm! index %d handle %d",
- index, config->u.aud_info.ses_info->capture_handle);
+ ALOGD("Opened adnc index %d handle %d endpoint 0x%x",
+ index, config->u.aud_info.ses_info->capture_handle,
+ stream_end_point);
stdev->is_streaming++;
clock_gettime(CLOCK_REALTIME, &stdev->adnc_strm_last_read[index]);