From 1ee279df205218fb7372baf031fb93d2a0d6a821 Mon Sep 17 00:00:00 2001 From: Yin-Chia Yeh Date: Mon, 17 Apr 2017 17:44:52 -0700 Subject: [PATCH] Camera: use framework header for VideoNativeHandleMetadata Test: build Bug: 35625849 Change-Id: I8159dd571b6b390fa089d497d45b76c1ec5bda31 --- camera/device/1.0/default/Android.bp | 3 +++ camera/device/1.0/default/CameraDevice.cpp | 5 +++-- camera/device/1.0/default/CameraDevice_1_0.h | 11 ----------- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/camera/device/1.0/default/Android.bp b/camera/device/1.0/default/Android.bp index af94b0f3..fdff1c7f 100644 --- a/camera/device/1.0/default/Android.bp +++ b/camera/device/1.0/default/Android.bp @@ -26,6 +26,9 @@ cc_library_shared { static_libs: [ "android.hardware.camera.common@1.0-helper" ], + include_dirs: [ + "frameworks/native/include/media/openmax" + ], export_include_dirs: ["."] } diff --git a/camera/device/1.0/default/CameraDevice.cpp b/camera/device/1.0/default/CameraDevice.cpp index cb20fec8..15a44ca7 100644 --- a/camera/device/1.0/default/CameraDevice.cpp +++ b/camera/device/1.0/default/CameraDevice.cpp @@ -21,6 +21,7 @@ #include #include +#include // For VideoNativeHandleMetadata #include "CameraDevice_1_0.h" namespace android { @@ -500,7 +501,7 @@ void CameraDevice::sDataCbTimestamp(nsecs_t timestamp, int32_t msg_type, if (mem->mBufSize == sizeof(VideoNativeHandleMetadata)) { VideoNativeHandleMetadata* md = (VideoNativeHandleMetadata*) ((uint8_t*) mem->mHidlHeapMemData + index * mem->mBufSize); - if (md->eType == VideoNativeHandleMetadata::kMetadataBufferTypeNativeHandleSource) { + if (md->eType == kMetadataBufferTypeNativeHandleSource) { handle = md->pHandle; } } @@ -837,7 +838,7 @@ void CameraDevice::releaseRecordingFrameLocked( void *data = ((uint8_t *) camMemory->mHidlHeapMemData) + bufferIndex * camMemory->mBufSize; if (handle) { VideoNativeHandleMetadata* md = (VideoNativeHandleMetadata*) data; - if (md->eType == VideoNativeHandleMetadata::kMetadataBufferTypeNativeHandleSource) { + if (md->eType == kMetadataBufferTypeNativeHandleSource) { // Input handle will be closed by HIDL transport later, so clone it // HAL implementation is responsible to close/delete the clone native_handle_t* clone = native_handle_clone(handle); diff --git a/camera/device/1.0/default/CameraDevice_1_0.h b/camera/device/1.0/default/CameraDevice_1_0.h index a9f55c21..5e9c538f 100644 --- a/camera/device/1.0/default/CameraDevice_1_0.h +++ b/camera/device/1.0/default/CameraDevice_1_0.h @@ -133,17 +133,6 @@ private: }; sp mAshmemAllocator; - - // TODO: b/35625849 - // Meta data buffer layout for passing a native_handle to codec - // matching frameworks/native/include/media/hardware/MetadataBufferType.h and - // frameworks/native/include/media/hardware/HardwareAPI.h - struct VideoNativeHandleMetadata { - static const uint32_t kMetadataBufferTypeNativeHandleSource = 3; - uint32_t eType; // must be kMetadataBufferTypeNativeHandleSource - native_handle_t* pHandle; - }; - const sp mModule; const std::string mCameraId; // const after ctor -- 2.11.0