summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2020-06-28 16:36:45 +0200
committerJacopo Mondi <jacopo@jmondi.org>2020-06-29 09:35:17 +0200
commit5267ca8e0209c08ba2b022543f291985c4cfeaf5 (patch)
tree733f3bde094c20f3a33f07ed0dc540c9f1f97ab7
parent83d37d54666f6114527ad503ea5e80d5b9388f11 (diff)
libcamera: ipu3: Accept an empty roles list
The IPU3 pipeline handler that does not support receiving an empty list of roles at generateConfiguration() time. This contradicts the camera API which allows application to generate empty CameraConfiguration to be later manually filled. Fix this by returning an empty CameraConfiguration if the list of requested roles is empty. While at it, align the style with the other pipeline handlers. Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
-rw-r--r--src/libcamera/pipeline/ipu3/ipu3.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
index ef57196c..cbf19793 100644
--- a/src/libcamera/pipeline/ipu3/ipu3.cpp
+++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
@@ -292,14 +292,15 @@ CameraConfiguration *PipelineHandlerIPU3::generateConfiguration(Camera *camera,
const StreamRoles &roles)
{
IPU3CameraData *data = cameraData(camera);
- IPU3CameraConfiguration *config;
+ IPU3CameraConfiguration *config = new IPU3CameraConfiguration(camera, data);
std::set<Stream *> streams = {
&data->outStream_,
&data->vfStream_,
&data->rawStream_,
};
- config = new IPU3CameraConfiguration(camera, data);
+ if (roles.empty())
+ return config;
for (const StreamRole role : roles) {
StreamConfiguration cfg = {};