Merge "Fix for native leaks in YuvToJpegEncoder.cpp"

This commit is contained in:
Elliott Hughes
2014-04-30 18:59:54 +00:00
committed by Gerrit Code Review

View File

@@ -226,16 +226,17 @@ static jboolean YuvImage_compressToJpeg(JNIEnv* env, jobject, jbyteArray inYuv,
jint* imgOffsets = env->GetIntArrayElements(offsets, NULL);
jint* imgStrides = env->GetIntArrayElements(strides, NULL);
YuvToJpegEncoder* encoder = YuvToJpegEncoder::create(format, imgStrides);
if (encoder == NULL) {
return JNI_FALSE;
jboolean result = JNI_FALSE;
if (encoder != NULL) {
encoder->encode(strm, yuv, width, height, imgOffsets, jpegQuality);
delete encoder;
result = JNI_TRUE;
}
encoder->encode(strm, yuv, width, height, imgOffsets, jpegQuality);
delete encoder;
env->ReleaseByteArrayElements(inYuv, yuv, 0);
env->ReleaseIntArrayElements(offsets, imgOffsets, 0);
env->ReleaseIntArrayElements(strides, imgStrides, 0);
return JNI_TRUE;
return result;
}
///////////////////////////////////////////////////////////////////////////////