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