diff options
author | Eric Laurent <elaurent@google.com> | 2014-07-06 16:08:45 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2014-07-07 10:15:45 -0700 |
commit | 30f3e6d348e5267320b40dbd8a67ffd77d179b4b (patch) | |
tree | fa07d0ea30546b5fddf4fd83927351dd6b1ef9df /modules | |
parent | 99e35eba21fe36364cdb6a09b35921027c367895 (diff) | |
download | hardware_libhardware-30f3e6d348e5267320b40dbd8a67ffd77d179b4b.zip hardware_libhardware-30f3e6d348e5267320b40dbd8a67ffd77d179b4b.tar.gz hardware_libhardware-30f3e6d348e5267320b40dbd8a67ffd77d179b4b.tar.bz2 |
sound trigger: update HAL
New start_recognition() prototype with recognition
configuration structure specifying:
- List of keyphrases to listen to.
- Recognition mode for each keyphrase
- List of users and min confidence levels for each users
New recognition event format with confidence level and user ID
for each user.
Bug: 12378680.
Change-Id: I95e998c735321ceb5c27f477d894b574a6eca860
Diffstat (limited to 'modules')
-rw-r--r-- | modules/soundtrigger/sound_trigger_hw.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/modules/soundtrigger/sound_trigger_hw.c b/modules/soundtrigger/sound_trigger_hw.c index 8347d02..b78a0d1 100644 --- a/modules/soundtrigger/sound_trigger_hw.c +++ b/modules/soundtrigger/sound_trigger_hw.c @@ -81,8 +81,9 @@ static void *callback_thread_loop(void *context) event->key_phrase_in_capture = false; event->num_phrases = 1; event->phrase_extras[0].recognition_modes = RECOGNITION_MODE_VOICE_TRIGGER; - event->phrase_extras[0].num_users = 1; - event->phrase_extras[0].confidence_levels[0] = 100; + event->phrase_extras[0].num_levels = 1; + event->phrase_extras[0].levels[0].level = 100; + event->phrase_extras[0].levels[0].user_id = 0; event->common.data_offset = sizeof(struct sound_trigger_phrase_recognition_event); event->common.data_size = 1; data[event->common.data_offset] = 8; @@ -183,12 +184,9 @@ exit: static int stdev_start_recognition(const struct sound_trigger_hw_device *dev, sound_model_handle_t sound_model_handle, - audio_io_handle_t capture_handle __unused, - audio_devices_t capture_device __unused, + const struct sound_trigger_recognition_config *config, recognition_callback_t callback, - void *cookie, - unsigned int data_size, - char *data) + void *cookie) { struct stub_sound_trigger_device *stdev = (struct stub_sound_trigger_device *)dev; int status = 0; @@ -202,13 +200,10 @@ static int stdev_start_recognition(const struct sound_trigger_hw_device *dev, status = -ENOSYS; goto exit; } - if (data_size != 0 && data == NULL) { - status = -EINVAL; - goto exit; - } - if (data_size != 0) { + if (config->data_size != 0) { + char *data = (char *)config + config->data_offset; ALOGI("%s data size %d data %d - %d", __func__, - data_size, data[0], data[data_size - 1]); + config->data_size, data[0], data[config->data_size - 1]); } stdev->recognition_callback = callback; |