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:
Laurent Pinchart 2019-04-29 20:58:34 +03:00
parent 77ae64eb24
commit 75de3bff9e
15 changed files with 184 additions and 126 deletions

View file

@ -77,8 +77,8 @@ public:
int release();
const std::set<Stream *> &streams() const;
CameraConfiguration generateConfiguration(const StreamRoles &roles);
int configure(CameraConfiguration &config);
std::unique_ptr<CameraConfiguration> generateConfiguration(const StreamRoles &roles);
int configure(CameraConfiguration *config);
int allocateBuffers();
int freeBuffers();