diff options
-rwxr-xr-x | media/jni/mediaeditor/VideoEditorClasses.cpp | 9 | ||||
-rwxr-xr-x | media/jni/mediaeditor/VideoEditorJava.cpp | 3 | ||||
-rwxr-xr-x | media/jni/mediaeditor/VideoEditorMain.cpp | 5 |
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; } } |