Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d71d0d8c authored by Suman Mukherjee's avatar Suman Mukherjee Committed by Linux Build Service Account
Browse files

Camera: Adds support for meta data callbacks

- This change adds a new type of callback
  that will be called when there are pending
  meta data notifications.

Change-Id: I190971b2d0d4d189e8f4edee8204ef65b62cd453
Cherrypicked from 9706034f16d23f96966dbd060f1bb85c5a4d976a
parent 0efebb69
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -696,6 +696,24 @@ static void android_hardware_Camera_setHasPreviewCallback(JNIEnv *env, jobject t
    context->setCallbackMode(env, installed, manualBuffer);
}

static void android_hardware_Camera_setMetadataCb(JNIEnv *env, jobject thiz, jboolean mode)
{
    ALOGV("setMetadataCb: mode:%d", (int)mode);
    JNICameraContext* context;
    status_t rc;
    sp<Camera> camera = get_native_camera(env, thiz, &context);
    if (camera == 0) return;

    if (mode == true)
        rc = camera->sendCommand(CAMERA_CMD_METADATA_ON, 0, 0);
    else
        rc = camera->sendCommand(CAMERA_CMD_METADATA_OFF, 0, 0);

    if (rc != NO_ERROR) {
        jniThrowException(env, "java/lang/RuntimeException", "set metadata mode failed");
    }
}

static void android_hardware_Camera_addCallbackBuffer(JNIEnv *env, jobject thiz, jbyteArray bytes, jint msgType) {
    ALOGV("addCallbackBuffer: 0x%x", msgType);

@@ -976,6 +994,9 @@ static JNINativeMethod camMethods[] = {
  { "native_setHistogramMode",
    "(Z)V",
     (void *)android_hardware_Camera_setHistogramMode },
  { "native_setMetadataCb",
    "(Z)V",
     (void *)android_hardware_Camera_setMetadataCb },
  { "native_sendHistogramData",
    "()V",
     (void *)android_hardware_Camera_sendHistogramData },