[libcamera-devel] [PATCH v5 05/10] libcamera: camera_sensor: Default 'location' to External

Jacopo Mondi jacopo at jmondi.org
Tue Jan 5 13:31:23 CET 2021


If the sensor driver does not report the camera location default it
to 'External' instead of 'Front'.

As the camera location is used to construct the camera unique name
presented to the user, it makes more sense to report multiple 'External'
cameras instead of multiple 'Front' ones.

Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
 src/libcamera/camera_sensor.cpp | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp
index eda41980aa22..205a4ad6085f 100644
--- a/src/libcamera/camera_sensor.cpp
+++ b/src/libcamera/camera_sensor.cpp
@@ -347,7 +347,6 @@ int CameraSensor::initProperties()
 	const ControlInfoMap &controls = subdev_->controls();
 	int32_t propertyValue;
 
-	/* Camera Location: default is front location. */
 	const auto &orientation = controls.find(V4L2_CID_CAMERA_ORIENTATION);
 	if (orientation != controls.end()) {
 		int32_t v4l2Orientation = orientation->second.def().get<int32_t>();
@@ -356,20 +355,20 @@ int CameraSensor::initProperties()
 		default:
 			LOG(CameraSensor, Warning)
 				<< "Unsupported camera location "
-				<< v4l2Orientation << ", setting to Front";
+				<< v4l2Orientation << ", setting to External";
 			/* Fall-through */
+		case V4L2_CAMERA_ORIENTATION_EXTERNAL:
+			propertyValue = properties::CameraLocationExternal;
+			break;
 		case V4L2_CAMERA_ORIENTATION_FRONT:
 			propertyValue = properties::CameraLocationFront;
 			break;
 		case V4L2_CAMERA_ORIENTATION_BACK:
 			propertyValue = properties::CameraLocationBack;
 			break;
-		case V4L2_CAMERA_ORIENTATION_EXTERNAL:
-			propertyValue = properties::CameraLocationExternal;
-			break;
 		}
 	} else {
-		propertyValue = properties::CameraLocationFront;
+		propertyValue = properties::CameraLocationExternal;
 	}
 	properties_.set(properties::Location, propertyValue);
 
-- 
2.29.2



More information about the libcamera-devel mailing list