cam: Store camera as shared pointer everywhere

Do not store the camera raw pointer in the capture class, this will
prevent forwarding the shared pointer in the future.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Niklas Söderlund 2019-10-27 21:20:10 +01:00
parent bcf4299453
commit 1d32f21136
3 changed files with 4 additions and 4 deletions

View file

@ -16,7 +16,7 @@
using namespace libcamera; using namespace libcamera;
Capture::Capture(Camera *camera, CameraConfiguration *config) Capture::Capture(std::shared_ptr<Camera> camera, CameraConfiguration *config)
: camera_(camera), config_(config), writer_(nullptr) : camera_(camera), config_(config), writer_(nullptr)
{ {
} }

View file

@ -21,7 +21,7 @@
class Capture class Capture
{ {
public: public:
Capture(libcamera::Camera *camera, Capture(std::shared_ptr<libcamera::Camera> camera,
libcamera::CameraConfiguration *config); libcamera::CameraConfiguration *config);
int run(EventLoop *loop, const OptionsParser::Options &options); int run(EventLoop *loop, const OptionsParser::Options &options);
@ -30,7 +30,7 @@ private:
void requestComplete(libcamera::Request *request); void requestComplete(libcamera::Request *request);
libcamera::Camera *camera_; std::shared_ptr<libcamera::Camera> camera_;
libcamera::CameraConfiguration *config_; libcamera::CameraConfiguration *config_;
std::map<libcamera::Stream *, std::string> streamName_; std::map<libcamera::Stream *, std::string> streamName_;

View file

@ -319,7 +319,7 @@ int CamApp::run()
} }
if (options_.isSet(OptCapture)) { if (options_.isSet(OptCapture)) {
Capture capture(camera_.get(), config_.get()); Capture capture(camera_, config_.get());
return capture.run(loop_, options_); return capture.run(loop_, options_);
} }