libcamera: camera: Return a pointer from generateConfiguration()
To prepare for specialising the CameraConfiguration class in pipeline handlers, return a pointer to a camera configuration instead of a reference from Camera::generateConfiguration(). The camera configuration always needs to be allocated from the pipeline handler, and its ownership is passed to the application. For symmetry, change Camera::configure() to take a CameraConfiguration pointer instead of a reference. This aligns with our coding practice of passing parameters that are modified by the callee by pointer. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
77ae64eb24
commit
75de3bff9e
15 changed files with 184 additions and 126 deletions
|
@ -98,13 +98,13 @@ int MainWindow::startCapture()
|
|||
int ret;
|
||||
|
||||
config_ = camera_->generateConfiguration({ StreamRole::VideoRecording });
|
||||
ret = camera_->configure(config_);
|
||||
ret = camera_->configure(config_.get());
|
||||
if (ret < 0) {
|
||||
std::cout << "Failed to configure camera" << std::endl;
|
||||
return ret;
|
||||
}
|
||||
|
||||
const StreamConfiguration &cfg = config_[0];
|
||||
const StreamConfiguration &cfg = config_->at(0);
|
||||
Stream *stream = cfg.stream();
|
||||
ret = viewfinder_->setFormat(cfg.pixelFormat, cfg.size.width,
|
||||
cfg.size.height);
|
||||
|
@ -180,6 +180,8 @@ void MainWindow::stopCapture()
|
|||
|
||||
camera_->freeBuffers();
|
||||
isCapturing_ = false;
|
||||
|
||||
config_.reset();
|
||||
}
|
||||
|
||||
void MainWindow::requestComplete(Request *request,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue