summaryrefslogtreecommitdiffstats
path: root/media/jni
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2012-08-20 14:50:45 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-08-20 14:50:45 -0700
commitf96fcd5095e751fc9402d8bbecdf59f53e00d854 (patch)
treeb7a64b5fd7147f047eb12e172bcaf08bf7d45799 /media/jni
parent4ea6a8eb9fdf83f5327e6c8b65a3d5dac8075f8f (diff)
parent26f8ce83e04c4efd10c09bb83cfacdcd154d9450 (diff)
downloadframeworks_base-f96fcd5095e751fc9402d8bbecdf59f53e00d854.zip
frameworks_base-f96fcd5095e751fc9402d8bbecdf59f53e00d854.tar.gz
frameworks_base-f96fcd5095e751fc9402d8bbecdf59f53e00d854.tar.bz2
am 26f8ce83: Merge "To avoid the JNI memory leaks in video editor codes"
* commit '26f8ce83e04c4efd10c09bb83cfacdcd154d9450': To avoid the JNI memory leaks in video editor codes
Diffstat (limited to 'media/jni')
-rwxr-xr-xmedia/jni/mediaeditor/VideoEditorClasses.cpp9
-rwxr-xr-xmedia/jni/mediaeditor/VideoEditorJava.cpp3
-rwxr-xr-xmedia/jni/mediaeditor/VideoEditorMain.cpp5
3 files changed, 17 insertions, 0 deletions
diff --git a/media/jni/mediaeditor/VideoEditorClasses.cpp b/media/jni/mediaeditor/VideoEditorClasses.cpp
index 4e0e0f2..4982a47 100755
--- a/media/jni/mediaeditor/VideoEditorClasses.cpp
+++ b/media/jni/mediaeditor/VideoEditorClasses.cpp
@@ -1853,6 +1853,9 @@ videoEditClasses_getEditSettings(
// Get the clip settings.
videoEditClasses_getClipSettings(pResult, pEnv, clipSettings,
&pSettings->pClipList[i]);
+
+ // Free the local references to avoid memory leaks
+ pEnv->DeleteLocalRef(clipSettings);
}
}
}
@@ -1877,6 +1880,9 @@ videoEditClasses_getEditSettings(
// Get the transition settings.
videoEditClasses_getTransitionSettings(pResult, pEnv,
transitionSettings, &pSettings->pTransitionList[i]);
+
+ // Free the local references to avoid memory leaks
+ pEnv->DeleteLocalRef(transitionSettings);
}
}
}
@@ -1900,6 +1906,9 @@ videoEditClasses_getEditSettings(
// Get the effect settings.
videoEditClasses_getEffectSettings(pResult, pEnv, effectSettings,
&pSettings->Effects[i]);
+
+ // Free the local references to avoid memory leaks
+ pEnv->DeleteLocalRef(effectSettings);
}
}
}
diff --git a/media/jni/mediaeditor/VideoEditorJava.cpp b/media/jni/mediaeditor/VideoEditorJava.cpp
index ec8050f..bcf9099 100755
--- a/media/jni/mediaeditor/VideoEditorJava.cpp
+++ b/media/jni/mediaeditor/VideoEditorJava.cpp
@@ -387,6 +387,9 @@ videoEditJava_getString(
(*pLength) = length;
}
}
+
+ // Delete local references to avoid memory leaks
+ pEnv->DeleteLocalRef(string);
}
// Return the string.
diff --git a/media/jni/mediaeditor/VideoEditorMain.cpp b/media/jni/mediaeditor/VideoEditorMain.cpp
index 41ec120..41c28c0 100755
--- a/media/jni/mediaeditor/VideoEditorMain.cpp
+++ b/media/jni/mediaeditor/VideoEditorMain.cpp
@@ -380,6 +380,9 @@ getClipSetting(
pEnv->GetIntField(object,fid);
M4OSA_TRACE1_1("videoRotation = %d",
pSettings->ClipProperties.videoRotationDegrees);
+
+ // Free the local references to avoid memory leaks
+ pEnv->DeleteLocalRef(clazz);
}
static void jniPreviewProgressCallback (void* cookie, M4OSA_UInt32 msgType,
@@ -1849,7 +1852,9 @@ videoEditor_populateSettings(
"not initialized");
if (needToBeLoaded) {
getClipSetting(pEnv,properties, pContext->pEditSettings->pClipList[i]);
+ pEnv->DeleteLocalRef(properties);
} else {
+ pEnv->DeleteLocalRef(properties);
goto videoEditor_populateSettings_cleanup;
}
}