From 62899df9cf57f974532acecf6eb11872eb54352e Mon Sep 17 00:00:00 2001 From: Jayant Chowdhary Date: Tue, 2 Apr 2019 16:53:34 -0700 Subject: [PATCH] camera2 ndk: Move check for ndk support for capabilities from a white-list to a black-list. Bug: 129979644 Test: Fake SECURE_IMAGE_DATA by updating camera characteristics in cameraserver; Retrieve capabilities in AImageReader test and confirm that SECURE_IMAGE_DATA is supported Test: AImageReaderVendorTest Change-Id: Ia105969ce1df52408e6b7663a658d89f47cd90c2 Signed-off-by: Jayant Chowdhary --- camera/ndk/impl/ACameraMetadata.cpp | 16 +++------------- camera/ndk/impl/ACameraMetadata.h | 2 ++ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/camera/ndk/impl/ACameraMetadata.cpp b/camera/ndk/impl/ACameraMetadata.cpp index d832deb028..77dcd488d9 100644 --- a/camera/ndk/impl/ACameraMetadata.cpp +++ b/camera/ndk/impl/ACameraMetadata.cpp @@ -47,24 +47,14 @@ ACameraMetadata::ACameraMetadata(camera_metadata_t* buffer, ACAMERA_METADATA_TYP bool ACameraMetadata::isNdkSupportedCapability(int32_t capability) { switch (capability) { - case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE: - case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR: - case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING: - case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW: - case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_READ_SENSOR_SETTINGS: - case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE: - case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT: - case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA: - return true; case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING: case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING: case ANDROID_REQUEST_AVAILABLE_CAPABILITIES_CONSTRAINED_HIGH_SPEED_VIDEO: return false; default: - // Newly defined capabilities will be unsupported by default (blacklist) - // TODO: Should we do whitelist or blacklist here? - ALOGE("%s: Unknonwn capability %d", __FUNCTION__, capability); - return false; + // Assuming every capability passed to this function is actually a + // valid capability. + return true; } } diff --git a/camera/ndk/impl/ACameraMetadata.h b/camera/ndk/impl/ACameraMetadata.h index 3d895cb21f..97f7f48c1c 100644 --- a/camera/ndk/impl/ACameraMetadata.h +++ b/camera/ndk/impl/ACameraMetadata.h @@ -70,6 +70,8 @@ struct ACameraMetadata : public RefBase { private: + // This function does not check whether the capability passed to it is valid. + // The caller must make sure that it is. bool isNdkSupportedCapability(const int32_t capability); static inline bool isVendorTag(const uint32_t tag); static bool isCaptureRequestTag(const uint32_t tag);