diff options
| author | 2014-10-29 23:07:31 +0000 | |
|---|---|---|
| committer | 2014-10-29 23:07:33 +0000 | |
| commit | c0c1255a930bf0c2104f82c05f430b34112cc1bf (patch) | |
| tree | 41cb6306a8acd148e44e61508ad5f893f7018bac | |
| parent | 4e7c562c43e9014c8fb3e75d02ba98fa4edadbde (diff) | |
| parent | 8f89feba39be8e705c6b9f550c5af141a9e189da (diff) | |
Merge "SoundTrigger JNI: fix local reference leak." into lmp-mr1-dev
| -rw-r--r-- | core/jni/android_hardware_SoundTrigger.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/core/jni/android_hardware_SoundTrigger.cpp b/core/jni/android_hardware_SoundTrigger.cpp index 7b33bc28d24e..2a8e6d6b5b3d 100644 --- a/core/jni/android_hardware_SoundTrigger.cpp +++ b/core/jni/android_hardware_SoundTrigger.cpp @@ -265,19 +265,22 @@ void JNISoundTriggerCallback::onRecognitionEvent(struct sound_trigger_recognitio event->capture_session, event->capture_delay_ms, event->capture_preamble_ms, event->trigger_in_data, jAudioFormat, jData, jExtras); - env->DeleteLocalRef(jAudioFormat); - env->DeleteLocalRef(jData); + env->DeleteLocalRef(jExtras); } else { jEvent = env->NewObject(gRecognitionEventClass, gRecognitionEventCstor, event->status, event->model, event->capture_available, event->capture_session, event->capture_delay_ms, event->capture_preamble_ms, event->trigger_in_data, jAudioFormat, jData); + } + + if (jAudioFormat != NULL) { env->DeleteLocalRef(jAudioFormat); + } + if (jData != NULL) { env->DeleteLocalRef(jData); } - env->CallStaticVoidMethod(mClass, gPostEventFromNative, mObject, SOUNDTRIGGER_EVENT_RECOGNITION, 0, 0, jEvent); |