diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-07-13 09:04:01 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-07-13 09:04:01 -0700 |
commit | 8ceba810d5a5831544790e18ed05eeed7e2fa994 (patch) | |
tree | 321f59155d937f4f2e84f6cd2ff9c49d0df561df | |
parent | 506dd3fc137df3f002a58ee2edb5b393e1f365cf (diff) | |
parent | a95f495f75d0516ad48576500f64a3ffea037af8 (diff) | |
download | frameworks_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.cpp | 5 |
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"); |