aboutsummaryrefslogtreecommitdiff
path: root/camera-wrapper
diff options
context:
space:
mode:
Diffstat (limited to 'camera-wrapper')
-rw-r--r--camera-wrapper/Android.mk2
-rw-r--r--camera-wrapper/CameraWrapper.cpp9
2 files changed, 10 insertions, 1 deletions
diff --git a/camera-wrapper/Android.mk b/camera-wrapper/Android.mk
index bf6dccf..f26719d 100644
--- a/camera-wrapper/Android.mk
+++ b/camera-wrapper/Android.mk
@@ -20,6 +20,7 @@ include $(CLEAR_VARS)
LOCAL_C_INCLUDES := \
framework/native/include \
+ frameworks/native/include/media/openmax \
system/media/camera/include
LOCAL_SRC_FILES := \
@@ -33,6 +34,7 @@ LOCAL_SHARED_LIBRARIES := \
libhidltransport \
libsensor \
libutils \
+ libcutils \
android.hidl.token@1.0-utils
LOCAL_STATIC_LIBRARIES := \
diff --git a/camera-wrapper/CameraWrapper.cpp b/camera-wrapper/CameraWrapper.cpp
index 8551d25..5bd67ce 100644
--- a/camera-wrapper/CameraWrapper.cpp
+++ b/camera-wrapper/CameraWrapper.cpp
@@ -25,7 +25,7 @@
#define LOG_TAG "CameraWrapper"
#include <cutils/log.h>
-
+#include <cutils/native_handle.h>
#include <utils/threads.h>
#include <utils/String8.h>
#include <sensor/SensorManager.h>
@@ -33,6 +33,7 @@
#include <hardware/camera.h>
#include <camera/Camera.h>
#include <camera/CameraParameters.h>
+#include <media/hardware/HardwareAPI.h> // For VideoNativeHandleMetadata
using namespace android;
@@ -292,10 +293,16 @@ static void camera_release_recording_frame(struct camera_device *device,
if (!device)
return;
+ VideoNativeHandleMetadata* md = (VideoNativeHandleMetadata*) opaque;
+ native_handle_t* nh = md->pHandle;
+
ALOGV("%s->%08X->%08X", __FUNCTION__, (uintptr_t)device,
(uintptr_t)(((wrapper_camera_device_t*)device)->vendor));
VENDOR_CALL(device, release_recording_frame, opaque);
+
+ native_handle_close(nh);
+ native_handle_delete(nh);
}
static int camera_auto_focus(struct camera_device *device)