diff options
author | Eric Laurent <elaurent@google.com> | 2014-06-09 16:20:05 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2014-06-09 16:20:05 -0700 |
commit | 1a1cba8f9a93db188b09d9754987354029129113 (patch) | |
tree | 29e1dae92ddbac430d3334cf6644f8109d27f599 /services/soundtrigger | |
parent | 7e45ef9db7446d33c941961c14555413641e444b (diff) | |
download | frameworks_av-1a1cba8f9a93db188b09d9754987354029129113.zip frameworks_av-1a1cba8f9a93db188b09d9754987354029129113.tar.gz frameworks_av-1a1cba8f9a93db188b09d9754987354029129113.tar.bz2 |
sound trigger: stop recognition on sound model unload
Force a stop recognition command to the HAL when
unloading a sound model and recognition is still active.
Change-Id: I7379a64a37bbc3eeea08e0e1d59e427de9544a10
Diffstat (limited to 'services/soundtrigger')
-rw-r--r-- | services/soundtrigger/SoundTriggerHwService.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/services/soundtrigger/SoundTriggerHwService.cpp b/services/soundtrigger/SoundTriggerHwService.cpp index f09e79e..fa59388 100644 --- a/services/soundtrigger/SoundTriggerHwService.cpp +++ b/services/soundtrigger/SoundTriggerHwService.cpp @@ -367,8 +367,12 @@ status_t SoundTriggerHwService::Module::unloadSoundModel(sound_model_handle_t ha if (index < 0) { return BAD_VALUE; } + sp<Model> model = mModels.valueAt(index); mModels.removeItem(handle); - + if (model->mState == Model::STATE_ACTIVE) { + mHwDevice->stop_recognition(mHwDevice, model->mHandle); + model->deallocateMemory(); + } return mHwDevice->unload_sound_model(mHwDevice, handle); } |