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>
gugelfrei
Jayant Chowdhary 5 years ago
parent 0e5a1b3bb6
commit 62899df9cf

@ -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;
}
}

@ -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);

Loading…
Cancel
Save