[libcamera-devel] [PATCH v4 4/4] android: CameraDevice: Deny non ROTATION_0 stream configuration

Hirokazu Honda hiroh at chromium.org
Sat Apr 3 15:10:15 CEST 2021


libcamera doesn't handle crop_rotate_scale_degrees. Therefore,
if it is requested, that is, crop_rotate_scale_degrees is not
CAMERA3_STREAM_ROTATION_0, the configuration should fail.

Signed-off-by: Hirokazu Honda <hiroh at chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
---
 src/android/camera_device.cpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index ddac56da..2c8f76e7 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -1656,6 +1656,18 @@ int CameraDevice::configureStreams(camera3_stream_configuration_t *stream_list)
 		if (!format.isValid())
 			return -EINVAL;
 
+		/* \todo Support rotation. */
+		if (stream->rotation != CAMERA3_STREAM_ROTATION_0) {
+			LOG(HAL, Error) << "Rotation is not supported";
+			return -EINVAL;
+		}
+#if defined(OS_CHROMEOS)
+		if (stream->crop_rotate_scale_degrees != CAMERA3_STREAM_ROTATION_0) {
+			LOG(HAL, Error) << "Rotation is not supported";
+			return -EINVAL;
+		}
+#endif
+
 		/* Defer handling of MJPEG streams until all others are known. */
 		if (stream->format == HAL_PIXEL_FORMAT_BLOB) {
 			if (jpegStream) {
-- 
2.31.0.208.g409f899ff0-goog



More information about the libcamera-devel mailing list