Merge "Camera: VTS: Don't access invalid resources" into qt-dev am: d016fd7949

am: 137f202385

Change-Id: I54725456629d1cfcbb79027a151d336cd43b2479
This commit is contained in:
Emilian Peev
2019-07-01 15:40:33 -07:00
committed by android-build-merger

View File

@@ -607,7 +607,9 @@ public:
struct DeviceCb : public V3_5::ICameraDeviceCallback {
DeviceCb(CameraHidlTest *parent, int deviceVersion, const camera_metadata_t *staticMeta) :
mParent(parent), mDeviceVersion(deviceVersion), mStaticMetadata(staticMeta) {}
mParent(parent), mDeviceVersion(deviceVersion) {
mStaticMetadata = staticMeta;
}
Return<void> processCaptureResult_3_4(
const hidl_vec<V3_4::CaptureResult>& results) override;
@@ -631,7 +633,7 @@ public:
CameraHidlTest *mParent; // Parent object
int mDeviceVersion;
const camera_metadata_t *mStaticMetadata;
android::hardware::camera::common::V1_0::helper::CameraMetadata mStaticMetadata;
bool hasOutstandingBuffersLocked();
/* members for requestStreamBuffers() and returnStreamBuffers()*/
@@ -1194,18 +1196,20 @@ bool CameraHidlTest::DeviceCb::processCaptureResultLocked(const CaptureResult& r
// Verify final result metadata
bool isAtLeast_3_5 = mDeviceVersion >= CAMERA_DEVICE_API_VERSION_3_5;
if (isAtLeast_3_5) {
auto staticMetadataBuffer = mStaticMetadata.getAndLock();
bool isMonochrome = Status::OK ==
CameraHidlTest::isMonochromeCamera(mStaticMetadata);
CameraHidlTest::isMonochromeCamera(staticMetadataBuffer);
if (isMonochrome) {
mParent->verifyMonochromeCameraResult(request->collectedResult);
}
// Verify logical camera result metadata
bool isLogicalCamera =
Status::OK == CameraHidlTest::isLogicalMultiCamera(mStaticMetadata);
Status::OK == CameraHidlTest::isLogicalMultiCamera(staticMetadataBuffer);
if (isLogicalCamera) {
mParent->verifyLogicalCameraResult(mStaticMetadata, request->collectedResult);
mParent->verifyLogicalCameraResult(staticMetadataBuffer, request->collectedResult);
}
mStaticMetadata.unlock(staticMetadataBuffer);
}
}
@@ -5402,7 +5406,7 @@ void CameraHidlTest::configurePreviewStream(const std::string &name, int32_t dev
ASSERT_EQ(Status::OK, s);
staticMeta = clone_camera_metadata(
reinterpret_cast<const camera_metadata_t*>(metadata.data()));
ASSERT_NE(nullptr, staticMeta);
ASSERT_NE(nullptr, staticMeta);
});
ASSERT_TRUE(ret.isOk());