diff options
| author | 2009-07-13 09:06:12 -0700 | |
|---|---|---|
| committer | 2009-07-13 09:06:12 -0700 | |
| commit | e3ea663686d42477e8b7585e2e3681a6ffd8d81a (patch) | |
| tree | 450bd7714d0636c22ac1b7fc69b242262b1a2ba6 | |
| parent | 3b76d3867f417db1ea836cc3c6da98b22d5f1776 (diff) | |
| parent | 8ceba810d5a5831544790e18ed05eeed7e2fa994 (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.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 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"); |