summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-07-13 09:04:01 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-07-13 09:04:01 -0700
commit8ceba810d5a5831544790e18ed05eeed7e2fa994 (patch)
tree321f59155d937f4f2e84f6cd2ff9c49d0df561df
parent506dd3fc137df3f002a58ee2edb5b393e1f365cf (diff)
parenta95f495f75d0516ad48576500f64a3ffea037af8 (diff)
downloadframeworks_base-8ceba810d5a5831544790e18ed05eeed7e2fa994.zip
frameworks_base-8ceba810d5a5831544790e18ed05eeed7e2fa994.tar.gz
frameworks_base-8ceba810d5a5831544790e18ed05eeed7e2fa994.tar.bz2
Merge change 6871 into donut
* changes: 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 b841076..2874be4 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");