summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2013-05-04 03:07:51 -0700
committerSteve Kondik <shade@chemlab.org>2013-05-04 03:07:51 -0700
commit93df8a71f87985a9aa3dc142b430c365e2a53276 (patch)
tree437fa8a8417d94a898fd4dd63503362bd8ffb88c /core/jni
parent26caff32fde6413ce7f14a543d4300bc252af6ae (diff)
downloadframeworks_base-93df8a71f87985a9aa3dc142b430c365e2a53276.zip
frameworks_base-93df8a71f87985a9aa3dc142b430c365e2a53276.tar.gz
frameworks_base-93df8a71f87985a9aa3dc142b430c365e2a53276.tar.bz2
camera: Add support for sending raw commands
* Certain camera drivers need magic commands to select special modes such as ZSL or HDR. Add support for sending raw commands from applications. Change-Id: I512a765c7a67ffd2877e465cf6493ffc2b3b54ac
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/android_hardware_Camera.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp
index d8fc55e..e420a2b 100644
--- a/core/jni/android_hardware_Camera.cpp
+++ b/core/jni/android_hardware_Camera.cpp
@@ -852,6 +852,17 @@ static void android_hardware_Camera_enableFocusMoveCallback(JNIEnv *env, jobject
#endif
}
+static void android_hardware_Camera_sendRawCommand(JNIEnv *env, jobject thiz, jint arg1, jint arg2, jint arg3)
+{
+ ALOGV("sendRawCommand %d, %d, %d", arg1, arg2, arg3);
+ sp<Camera> camera = get_native_camera(env, thiz, NULL);
+ if (camera == 0) return;
+
+ if (camera->sendCommand(arg1, arg2, arg3) != NO_ERROR) {
+ jniThrowRuntimeException(env, "send raw command failed");
+ }
+}
+
//-------------------------------------------------
static JNINativeMethod camMethods[] = {
@@ -933,6 +944,9 @@ static JNINativeMethod camMethods[] = {
{ "enableFocusMoveCallback",
"(I)V",
(void *)android_hardware_Camera_enableFocusMoveCallback},
+ { "sendRawCommand",
+ "(III)V",
+ (void *)android_hardware_Camera_sendRawCommand},
};
struct field {