Message ID | 20210707021941.20804-18-laurent.pinchart@ideasonboard.com |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
On 07/07/2021 03:19, Laurent Pinchart wrote: > Move the local CameraSession variable from the CamApp::run() function to > a member variable of the CamApp class, created in CamApp::init(). This > is a first step towards moving code to the CameraSession class. > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > --- > src/cam/camera_session.cpp | 5 ----- > src/cam/main.cpp | 16 ++++++++++++---- > 2 files changed, 12 insertions(+), 9 deletions(-) > > diff --git a/src/cam/camera_session.cpp b/src/cam/camera_session.cpp > index 1fb7c1b6ad5d..7bb75e86eab5 100644 > --- a/src/cam/camera_session.cpp > +++ b/src/cam/camera_session.cpp > @@ -34,11 +34,6 @@ int CameraSession::start(const OptionsParser::Options &options) > captureLimit_ = options[OptCapture].toInteger(); > printMetadata_ = options.isSet(OptMetadata); > > - if (!camera_) { > - std::cout << "Can't capture without a camera" << std::endl; > - return -ENODEV; > - } > - > ret = camera_->configure(config_); > if (ret < 0) { > std::cout << "Failed to configure camera" << std::endl; > diff --git a/src/cam/main.cpp b/src/cam/main.cpp > index b13230c374ad..2c6500a5682b 100644 > --- a/src/cam/main.cpp > +++ b/src/cam/main.cpp > @@ -51,8 +51,11 @@ private: > static CamApp *app_; > OptionsParser::Options options_; > CameraManager *cm_; > + > std::shared_ptr<Camera> camera_; > std::unique_ptr<libcamera::CameraConfiguration> config_; > + std::unique_ptr<CameraSession> session_; > + > EventLoop loop_; > > bool strictFormats_; > @@ -127,6 +130,9 @@ int CamApp::init(int argc, char **argv) > cleanup(); > return ret; > } > + > + session_ = std::make_unique<CameraSession>(camera_, config_.get()); > + session_->captureDone.connect(this, &CamApp::captureDone); > } > > if (options_.isSet(OptMonitor)) { > @@ -369,10 +375,12 @@ int CamApp::run() > } > > if (options_.isSet(OptCapture)) { > - CameraSession session(camera_, config_.get()); > - session.captureDone.connect(this, &CamApp::captureDone); > + if (!camera_) { > + std::cout << "Can't capture without a camera" << std::endl; > + return -ENODEV; > + } > > - ret = session.start(options_); > + ret = session_->start(options_); > if (ret) { > std::cout << "Failed to start camera session" << std::endl; > return ret; > @@ -380,7 +388,7 @@ int CamApp::run() > > loop_.exec(); > > - session.stop(); > + session_->stop(); > return 0; > } > >
diff --git a/src/cam/camera_session.cpp b/src/cam/camera_session.cpp index 1fb7c1b6ad5d..7bb75e86eab5 100644 --- a/src/cam/camera_session.cpp +++ b/src/cam/camera_session.cpp @@ -34,11 +34,6 @@ int CameraSession::start(const OptionsParser::Options &options) captureLimit_ = options[OptCapture].toInteger(); printMetadata_ = options.isSet(OptMetadata); - if (!camera_) { - std::cout << "Can't capture without a camera" << std::endl; - return -ENODEV; - } - ret = camera_->configure(config_); if (ret < 0) { std::cout << "Failed to configure camera" << std::endl; diff --git a/src/cam/main.cpp b/src/cam/main.cpp index b13230c374ad..2c6500a5682b 100644 --- a/src/cam/main.cpp +++ b/src/cam/main.cpp @@ -51,8 +51,11 @@ private: static CamApp *app_; OptionsParser::Options options_; CameraManager *cm_; + std::shared_ptr<Camera> camera_; std::unique_ptr<libcamera::CameraConfiguration> config_; + std::unique_ptr<CameraSession> session_; + EventLoop loop_; bool strictFormats_; @@ -127,6 +130,9 @@ int CamApp::init(int argc, char **argv) cleanup(); return ret; } + + session_ = std::make_unique<CameraSession>(camera_, config_.get()); + session_->captureDone.connect(this, &CamApp::captureDone); } if (options_.isSet(OptMonitor)) { @@ -369,10 +375,12 @@ int CamApp::run() } if (options_.isSet(OptCapture)) { - CameraSession session(camera_, config_.get()); - session.captureDone.connect(this, &CamApp::captureDone); + if (!camera_) { + std::cout << "Can't capture without a camera" << std::endl; + return -ENODEV; + } - ret = session.start(options_); + ret = session_->start(options_); if (ret) { std::cout << "Failed to start camera session" << std::endl; return ret; @@ -380,7 +388,7 @@ int CamApp::run() loop_.exec(); - session.stop(); + session_->stop(); return 0; }
Move the local CameraSession variable from the CamApp::run() function to a member variable of the CamApp class, created in CamApp::init(). This is a first step towards moving code to the CameraSession class. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- src/cam/camera_session.cpp | 5 ----- src/cam/main.cpp | 16 ++++++++++++---- 2 files changed, 12 insertions(+), 9 deletions(-)