diff options
-rw-r--r-- | src/libcamera/camera_sensor.cpp | 5 | ||||
-rw-r--r-- | src/libcamera/include/camera_sensor.h | 3 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/libcamera/camera_sensor.cpp b/src/libcamera/camera_sensor.cpp index 4585d6d3..d6a823f4 100644 --- a/src/libcamera/camera_sensor.cpp +++ b/src/libcamera/camera_sensor.cpp @@ -133,7 +133,6 @@ LOG_DEFINE_CATEGORY(CameraSensor); CameraSensor::CameraSensor(const MediaEntity *entity) : entity_(entity), properties_(properties::properties) { - subdev_ = new V4L2Subdevice(entity); } /** @@ -141,7 +140,6 @@ CameraSensor::CameraSensor(const MediaEntity *entity) */ CameraSensor::~CameraSensor() { - delete subdev_; } /** @@ -197,7 +195,8 @@ int CameraSensor::init() else model_ = entityName; - /* Open the subdev. */ + /* Create and open the subdev. */ + subdev_ = std::make_unique<V4L2Subdevice>(entity_); ret = subdev_->open(); if (ret < 0) return ret; diff --git a/src/libcamera/include/camera_sensor.h b/src/libcamera/include/camera_sensor.h index f39ea96d..92cd9035 100644 --- a/src/libcamera/include/camera_sensor.h +++ b/src/libcamera/include/camera_sensor.h @@ -7,6 +7,7 @@ #ifndef __LIBCAMERA_CAMERA_SENSOR_H__ #define __LIBCAMERA_CAMERA_SENSOR_H__ +#include <memory> #include <string> #include <vector> @@ -68,7 +69,7 @@ protected: private: const MediaEntity *entity_; - V4L2Subdevice *subdev_; + std::unique_ptr<V4L2Subdevice> subdev_; std::string model_; std::vector<unsigned int> mbusCodes_; |