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

Hirokazu Honda hiroh at chromium.org
Tue Mar 30 07:25:21 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 e0eaa3b5..344522ba 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -1657,6 +1657,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(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.291.g576ba9dcdaf-goog



More information about the libcamera-devel mailing list