summaryrefslogtreecommitdiffstats
path: root/services/soundtrigger
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2014-06-09 16:20:05 -0700
committerEric Laurent <elaurent@google.com>2014-06-09 16:20:05 -0700
commit1a1cba8f9a93db188b09d9754987354029129113 (patch)
tree29e1dae92ddbac430d3334cf6644f8109d27f599 /services/soundtrigger
parent7e45ef9db7446d33c941961c14555413641e444b (diff)
downloadframeworks_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.cpp6
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);
}