libcamera: camera_sensor: Introduce CameraSensorFactory
Introduce a factory to create CameraSensor derived classes instances by inspecting the sensor media entity name and provide a convenience macro to register specialized sensor handlers. Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
@@ -1232,10 +1232,9 @@ int PipelineHandlerRkISP1::createCamera(MediaEntity *sensor)
|
||||
std::make_unique<RkISP1CameraData>(this, &mainPath_,
|
||||
hasSelfPath_ ? &selfPath_ : nullptr);
|
||||
|
||||
data->sensor_ = std::make_unique<CameraSensor>(sensor);
|
||||
ret = data->sensor_->init();
|
||||
if (ret)
|
||||
return ret;
|
||||
data->sensor_ = CameraSensorFactoryBase::create(sensor);
|
||||
if (!data->sensor_)
|
||||
return -ENODEV;
|
||||
|
||||
/* Initialize the camera properties. */
|
||||
data->properties_ = data->sensor_->properties();
|
||||
|
||||
Reference in New Issue
Block a user