summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2020-12-30 17:13:32 +0100
committerJacopo Mondi <jacopo@jmondi.org>2021-01-18 10:39:13 +0100
commit87ceac9c8cc0afb3be0f68155cd0f906cbb98120 (patch)
tree1a4fb0f8a7aa2563609899933407691c52827983 /src
parent8deb7e4331c3616e15c7f40625ac623e1ccd5551 (diff)
libcamera: camera_sensor: Default 'location' to External
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@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Diffstat (limited to 'src')
-rw-r--r--src/libcamera/camera_sensor.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp
index e8caa446..71aa268f 100644
--- a/src/libcamera/camera_sensor.cpp
+++ b/src/libcamera/camera_sensor.cpp
@@ -345,7 +345,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>();
@@ -354,20 +353,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);