* commit '96c39e4c891b4fa296fe5d6e8d5a323ecd77d84f': SoundTrigger JNI: fix local reference leak.
This commit is contained in:
@@ -265,18 +265,21 @@ void JNISoundTriggerCallback::onRecognitionEvent(struct sound_trigger_recognitio
|
|||||||
event->capture_session, event->capture_delay_ms,
|
event->capture_session, event->capture_delay_ms,
|
||||||
event->capture_preamble_ms, event->trigger_in_data,
|
event->capture_preamble_ms, event->trigger_in_data,
|
||||||
jAudioFormat, jData, jExtras);
|
jAudioFormat, jData, jExtras);
|
||||||
env->DeleteLocalRef(jAudioFormat);
|
env->DeleteLocalRef(jExtras);
|
||||||
env->DeleteLocalRef(jData);
|
|
||||||
} else {
|
} else {
|
||||||
jEvent = env->NewObject(gRecognitionEventClass, gRecognitionEventCstor,
|
jEvent = env->NewObject(gRecognitionEventClass, gRecognitionEventCstor,
|
||||||
event->status, event->model, event->capture_available,
|
event->status, event->model, event->capture_available,
|
||||||
event->capture_session, event->capture_delay_ms,
|
event->capture_session, event->capture_delay_ms,
|
||||||
event->capture_preamble_ms, event->trigger_in_data,
|
event->capture_preamble_ms, event->trigger_in_data,
|
||||||
jAudioFormat, jData);
|
jAudioFormat, jData);
|
||||||
env->DeleteLocalRef(jAudioFormat);
|
|
||||||
env->DeleteLocalRef(jData);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (jAudioFormat != NULL) {
|
||||||
|
env->DeleteLocalRef(jAudioFormat);
|
||||||
|
}
|
||||||
|
if (jData != NULL) {
|
||||||
|
env->DeleteLocalRef(jData);
|
||||||
|
}
|
||||||
|
|
||||||
env->CallStaticVoidMethod(mClass, gPostEventFromNative, mObject,
|
env->CallStaticVoidMethod(mClass, gPostEventFromNative, mObject,
|
||||||
SOUNDTRIGGER_EVENT_RECOGNITION, 0, 0, jEvent);
|
SOUNDTRIGGER_EVENT_RECOGNITION, 0, 0, jEvent);
|
||||||
|
|||||||
Reference in New Issue
Block a user