diff options
-rw-r--r-- | include/libcamera/camera.h | 1 | ||||
-rw-r--r-- | src/libcamera/camera.cpp | 15 |
2 files changed, 15 insertions, 1 deletions
diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h index 36bf1cbb..1c0ee07c 100644 --- a/include/libcamera/camera.h +++ b/include/libcamera/camera.h @@ -55,6 +55,7 @@ private: std::shared_ptr<PipelineHandler> pipe_; std::string name_; std::vector<Stream *> streams_; + std::vector<Stream *> activeStreams_; bool acquired_; bool disconnected_; diff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp index 62291d2c..3f7b805b 100644 --- a/src/libcamera/camera.cpp +++ b/src/libcamera/camera.cpp @@ -253,7 +253,20 @@ int Camera::configureStreams(std::map<Stream *, StreamConfiguration> &config) return -EINVAL; } - return pipe_->configureStreams(this, config); + ret = pipe_->configureStreams(this, config); + if (ret) + return ret; + + activeStreams_.clear(); + for (auto const &iter : config) { + Stream *stream = iter.first; + const StreamConfiguration &cfg = iter.second; + + stream->configuration_ = cfg; + activeStreams_.push_back(stream); + } + + return 0; } int Camera::exclusiveAccess() |