[libcamera-devel] [PATCH 7/8] libcamera: camera: ensure streams belong to camera
Niklas Söderlund
niklas.soderlund at ragnatech.se
Tue Feb 26 03:18:56 CET 2019
Before calling into the pipeline handler make sure the streams provided
by the application actually belongs to the camera.
Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
---
src/libcamera/camera.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp
index 938f21fe80ef8ceb..ba8638009992170f 100644
--- a/src/libcamera/camera.cpp
+++ b/src/libcamera/camera.cpp
@@ -253,6 +253,10 @@ Camera::streamConfiguration(std::set<Stream *> &streams)
if (!stateIsAtleast(Free) || !streams.size())
return std::map<Stream *, StreamConfiguration>{};
+ for (Stream *stream : streams)
+ if (streams_.find(stream) == streams_.end())
+ return std::map<Stream *, StreamConfiguration>{};
+
return pipe_->streamConfiguration(this, streams);
}
@@ -290,6 +294,10 @@ int Camera::configureStreams(std::map<Stream *, StreamConfiguration> &config)
return -EINVAL;
}
+ for (auto const &iter : config)
+ if (streams_.find(iter.first) == streams_.end())
+ return -EINVAL;
+
ret = pipe_->configureStreams(this, config);
if (ret)
return ret;
--
2.20.1
More information about the libcamera-devel
mailing list