* commit '91ff3c18dbb61ed0087f741dd2bdf911ecf42fef': Fix for native leaks in YuvToJpegEncoder.cpp
This commit is contained in:
@@ -226,16 +226,17 @@ static jboolean YuvImage_compressToJpeg(JNIEnv* env, jobject, jbyteArray inYuv,
|
|||||||
jint* imgOffsets = env->GetIntArrayElements(offsets, NULL);
|
jint* imgOffsets = env->GetIntArrayElements(offsets, NULL);
|
||||||
jint* imgStrides = env->GetIntArrayElements(strides, NULL);
|
jint* imgStrides = env->GetIntArrayElements(strides, NULL);
|
||||||
YuvToJpegEncoder* encoder = YuvToJpegEncoder::create(format, imgStrides);
|
YuvToJpegEncoder* encoder = YuvToJpegEncoder::create(format, imgStrides);
|
||||||
if (encoder == NULL) {
|
jboolean result = JNI_FALSE;
|
||||||
return 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->ReleaseByteArrayElements(inYuv, yuv, 0);
|
||||||
env->ReleaseIntArrayElements(offsets, imgOffsets, 0);
|
env->ReleaseIntArrayElements(offsets, imgOffsets, 0);
|
||||||
env->ReleaseIntArrayElements(strides, imgStrides, 0);
|
env->ReleaseIntArrayElements(strides, imgStrides, 0);
|
||||||
return JNI_TRUE;
|
return result;
|
||||||
}
|
}
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user