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 <jchowdhary@google.com>
diff --git a/camera/ndk/impl/ACameraMetadata.cpp b/camera/ndk/impl/ACameraMetadata.cpp
index d832deb..77dcd48 100644
--- a/camera/ndk/impl/ACameraMetadata.cpp
+++ b/camera/ndk/impl/ACameraMetadata.cpp
@@ -47,24 +47,14 @@
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 3d895cb..97f7f48 100644
--- a/camera/ndk/impl/ACameraMetadata.h
+++ b/camera/ndk/impl/ACameraMetadata.h
@@ -70,6 +70,8 @@
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);