summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Android (Google) Code Review <android-gerrit@google.com> 2009-07-13 09:06:12 -0700
committer The Android Open Source Project <initial-contribution@android.com> 2009-07-13 09:06:12 -0700
commite3ea663686d42477e8b7585e2e3681a6ffd8d81a (patch)
tree450bd7714d0636c22ac1b7fc69b242262b1a2ba6
parent3b76d3867f417db1ea836cc3c6da98b22d5f1776 (diff)
parent8ceba810d5a5831544790e18ed05eeed7e2fa994 (diff)
am 8ceba810: Merge change 6871 into donut
Merge commit '8ceba810d5a5831544790e18ed05eeed7e2fa994' * commit '8ceba810d5a5831544790e18ed05eeed7e2fa994': Use SetByteArrayRegion to minimize copy overhead and JNI calls.
-rw-r--r--core/jni/android_hardware_Camera.cpp5
1 files changed, 1 insertions, 4 deletions
diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp
index f2c0657b085b..4aa40cec800d 100644
--- a/core/jni/android_hardware_Camera.cpp
+++ b/core/jni/android_hardware_Camera.cpp
@@ -143,10 +143,7 @@ void JNICameraContext::copyAndPost(JNIEnv* env, const sp<IMemory>& dataPtr, int
LOGE("Couldn't allocate byte array for JPEG data");
env->ExceptionClear();
} else {
- jbyte *bytes = static_cast<jbyte*>(env->GetPrimitiveArrayCritical(obj, NULL));
- memcpy(bytes, data, size);
- env->ReleasePrimitiveArrayCritical(obj, bytes, 0);
-
+ env->SetByteArrayRegion(obj, 0, size, data);
}
} else {
LOGE("image heap is NULL");