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:
@@ -532,10 +532,9 @@ int VimcCameraData::init()
|
||||
return ret;
|
||||
|
||||
/* Create and open the camera sensor, debayer, scaler and video device. */
|
||||
sensor_ = std::make_unique<CameraSensor>(media_->getEntityByName("Sensor B"));
|
||||
ret = sensor_->init();
|
||||
if (ret)
|
||||
return ret;
|
||||
sensor_ = CameraSensorFactoryBase::create(media_->getEntityByName("Sensor B"));
|
||||
if (!sensor_)
|
||||
return -ENODEV;
|
||||
|
||||
debayer_ = V4L2Subdevice::fromEntityName(media_, "Debayer B");
|
||||
if (debayer_->open())
|
||||
|
||||
Reference in New Issue
Block a user