Fix scope for visualizer object release
Bug: 30684284
Change-Id: I4170511c6c7f36aa1bce3e439054bc6b8a4a2623
diff --git a/media/jni/audioeffect/android_media_Visualizer.cpp b/media/jni/audioeffect/android_media_Visualizer.cpp
index f1a8c6f..aec31f0 100644
--- a/media/jni/audioeffect/android_media_Visualizer.cpp
+++ b/media/jni/audioeffect/android_media_Visualizer.cpp
@@ -435,11 +435,12 @@
// ----------------------------------------------------------------------------
static void android_media_visualizer_native_release(JNIEnv *env, jobject thiz) {
- sp<Visualizer> lpVisualizer = setVisualizer(env, thiz, 0);
- if (lpVisualizer == 0) {
- return;
+ { //limit scope so that lpVisualizer is deleted before JNI storage data.
+ sp<Visualizer> lpVisualizer = setVisualizer(env, thiz, 0);
+ if (lpVisualizer == 0) {
+ return;
+ }
}
-
// delete the JNI data
VisualizerJniStorage* lpJniStorage =
(VisualizerJniStorage *)env->GetLongField(thiz, fields.fidJniData);