diff options
| author | Praveen Chavan <pchavan@codeaurora.org> | 2016-01-13 01:24:30 -0800 |
|---|---|---|
| committer | Chien-Yu Chen <cychen@google.com> | 2016-01-26 13:09:16 -0800 |
| commit | 6773d4777f4ccbbe6377e4ae1b42c117066ae6ba (patch) | |
| tree | 86b675cb54a819800d5bae2d50f6f910d4adb90d /camera/CameraUtils.cpp | |
| parent | 98a668f6ea51e4d894d2ebb61a0e18287fb14008 (diff) | |
| download | frameworks_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.cpp | 15 |
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 */ |
