Add check for width, height and rotation in stream configuration.
Bug: 69002477, 69002512, 69002554, 69002570
Test: run vts -m VtsHalCameraProviderV2_4Target -t
CameraHidlTest.configureStreamsInvalidOutputs_32bit
Change-Id: Ifa384832433e37ab4f39c607257f85fc51e4d443
diff --git a/camera/EmulatedFakeCamera3.cpp b/camera/EmulatedFakeCamera3.cpp
index 99268eb..942de93 100644
--- a/camera/EmulatedFakeCamera3.cpp
+++ b/camera/EmulatedFakeCamera3.cpp
@@ -279,6 +279,22 @@
inputStream = newStream;
}
+ if (newStream->stream_type != CAMERA3_STREAM_INPUT) {
+ if (newStream->rotation < CAMERA3_STREAM_ROTATION_0 ||
+ newStream->rotation > CAMERA3_STREAM_ROTATION_270) {
+ ALOGE("%s: Unsupported stream rotation 0x%x requested",
+ __FUNCTION__, newStream->rotation);
+ return BAD_VALUE;
+ }
+ }
+
+ if (newStream->width <= 0 || newStream->width > mSensorWidth ||
+ newStream->height <= 0 || newStream->height > mSensorHeight) {
+ ALOGE("%s: Unsupported stream width 0x%x height 0x%x",
+ __FUNCTION__, newStream->width, newStream->height);
+ return BAD_VALUE;
+ }
+
bool validFormat = false;
for (size_t f = 0;
f < sizeof(kAvailableFormats)/sizeof(kAvailableFormats[0]);