summaryrefslogtreecommitdiffstats
path: root/camera/CameraUtils.cpp
diff options
context:
space:
mode:
authorPraveen Chavan <pchavan@codeaurora.org>2016-01-13 01:24:30 -0800
committerChien-Yu Chen <cychen@google.com>2016-01-26 13:09:16 -0800
commit6773d4777f4ccbbe6377e4ae1b42c117066ae6ba (patch)
tree86b675cb54a819800d5bae2d50f6f910d4adb90d /camera/CameraUtils.cpp
parent98a668f6ea51e4d894d2ebb61a0e18287fb14008 (diff)
downloadframeworks_av-6773d4777f4ccbbe6377e4ae1b42c117066ae6ba.tar.gz
frameworks_av-6773d4777f4ccbbe6377e4ae1b42c117066ae6ba.tar.bz2
frameworks_av-6773d4777f4ccbbe6377e4ae1b42c117066ae6ba.zip
camera: Add support to pass native handles across binders
If the video buffer contains a native handle, serialize and deserialize it properly. Author: spodder@codeaurora.org Bug: 26268807 Change-Id: I1905be81e2045667e00c95ab75d1bf144756b894
Diffstat (limited to 'camera/CameraUtils.cpp')
-rw-r--r--camera/CameraUtils.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/camera/CameraUtils.cpp b/camera/CameraUtils.cpp
index 04244ac68e..26eebe3883 100644
--- a/camera/CameraUtils.cpp
+++ b/camera/CameraUtils.cpp
@@ -18,6 +18,7 @@
//#define LOG_NDEBUG 0
#include <camera/CameraUtils.h>
+#include <media/hardware/HardwareAPI.h>
#include <system/window.h>
#include <system/graphics.h>
@@ -121,5 +122,19 @@ status_t CameraUtils::getRotationTransform(const CameraMetadata& staticInfo,
return OK;
}
+// Return whether the image data contains a native handle.
+bool CameraUtils::isNativeHandleMetadata(const sp<IMemory>& imageData) {
+ if (imageData == nullptr) {
+ return false;
+ }
+
+ if (imageData->size() == sizeof(VideoNativeHandleMetadata)) {
+ VideoNativeHandleMetadata *metadata =
+ (VideoNativeHandleMetadata*)(imageData->pointer());
+ return metadata->eType == kMetadataBufferTypeNativeHandleSource;
+ }
+
+ return false;
+}
} /* namespace android */