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
|
@ -18,21 +18,21 @@ class ConfigurationDefault : public CameraTest
|
|||
protected:
|
||||
int run()
|
||||
{
|
||||
CameraConfiguration config;
|
||||
std::unique_ptr<CameraConfiguration> config;
|
||||
|
||||
/* Test asking for configuration for a video stream. */
|
||||
config = camera_->generateConfiguration({ StreamRole::VideoRecording });
|
||||
if (!config.isValid()) {
|
||||
if (!config || !config->isValid()) {
|
||||
cout << "Default configuration invalid" << endl;
|
||||
return TestFail;
|
||||
}
|
||||
|
||||
/*
|
||||
* Test that asking for configuration for an empty array of
|
||||
* stream roles returns an empty list of configurations.
|
||||
* stream roles returns an empty camera configuration.
|
||||
*/
|
||||
config = camera_->generateConfiguration({});
|
||||
if (config.isValid()) {
|
||||
if (!config || config->isValid()) {
|
||||
cout << "Failed to retrieve configuration for empty roles list"
|
||||
<< endl;
|
||||
return TestFail;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue