diff options
author | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2019-02-26 02:46:33 +0100 |
---|---|---|
committer | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2019-02-28 18:41:52 +0100 |
commit | 132ce9c1cf6951d8cba8ff6ff5fbccadead385c1 (patch) | |
tree | d01cf52e2e68f468456907b335e24f8a6c85273d /src/libcamera/pipeline | |
parent | dc01a5bc43787ac8bf8f16683383f60265326f27 (diff) |
libcamera: store stream pointers in sets instead of a vectors
The arrays that store Stream pointers shall always contain unique
values. Storing them in vectors opens up for the same stream pointer
appearing twice. Remove this possibility by storing them in a set which
guarantees each element is unique.
Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/libcamera/pipeline')
-rw-r--r-- | src/libcamera/pipeline/ipu3/ipu3.cpp | 6 | ||||
-rw-r--r-- | src/libcamera/pipeline/uvcvideo.cpp | 6 | ||||
-rw-r--r-- | src/libcamera/pipeline/vimc.cpp | 6 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp index 9694d0ce..1066fbe3 100644 --- a/src/libcamera/pipeline/ipu3/ipu3.cpp +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp @@ -32,7 +32,7 @@ public: std::map<Stream *, StreamConfiguration> streamConfiguration(Camera *camera, - std::vector<Stream *> &streams) override; + std::set<Stream *> &streams) override; int configureStreams(Camera *camera, std::map<Stream *, StreamConfiguration> &config) override; @@ -95,7 +95,7 @@ PipelineHandlerIPU3::~PipelineHandlerIPU3() std::map<Stream *, StreamConfiguration> PipelineHandlerIPU3::streamConfiguration(Camera *camera, - std::vector<Stream *> &streams) + std::set<Stream *> &streams) { IPU3CameraData *data = cameraData(camera); std::map<Stream *, StreamConfiguration> configs; @@ -374,7 +374,7 @@ void PipelineHandlerIPU3::registerCameras() std::unique_ptr<IPU3CameraData> data = utils::make_unique<IPU3CameraData>(); std::string cameraName = sensor->name() + " " + std::to_string(id); - std::vector<Stream *> streams{ &data->stream_ }; + std::set<Stream *> streams{ &data->stream_ }; std::shared_ptr<Camera> camera = Camera::create(this, cameraName, streams); /* diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp index b7b8ff10..7b697c06 100644 --- a/src/libcamera/pipeline/uvcvideo.cpp +++ b/src/libcamera/pipeline/uvcvideo.cpp @@ -27,7 +27,7 @@ public: std::map<Stream *, StreamConfiguration> streamConfiguration(Camera *camera, - std::vector<Stream *> &streams) override; + std::set<Stream *> &streams) override; int configureStreams(Camera *camera, std::map<Stream *, StreamConfiguration> &config) override; @@ -63,7 +63,7 @@ PipelineHandlerUVC::~PipelineHandlerUVC() std::map<Stream *, StreamConfiguration> PipelineHandlerUVC::streamConfiguration(Camera *camera, - std::vector<Stream *> &streams) + std::set<Stream *> &streams) { std::map<Stream *, StreamConfiguration> configs; @@ -171,7 +171,7 @@ bool PipelineHandlerUVC::match(DeviceEnumerator *enumerator) return false; } - std::vector<Stream *> streams{ &stream_ }; + std::set<Stream *> streams{ &stream_ }; std::shared_ptr<Camera> camera = Camera::create(this, media_->model(), streams); registerCamera(std::move(camera)); hotplugMediaDevice(media_.get()); diff --git a/src/libcamera/pipeline/vimc.cpp b/src/libcamera/pipeline/vimc.cpp index 812777cf..9ba96323 100644 --- a/src/libcamera/pipeline/vimc.cpp +++ b/src/libcamera/pipeline/vimc.cpp @@ -27,7 +27,7 @@ public: std::map<Stream *, StreamConfiguration> streamConfiguration(Camera *camera, - std::vector<Stream *> &streams) override; + std::set<Stream *> &streams) override; int configureStreams(Camera *camera, std::map<Stream *, StreamConfiguration> &config) override; @@ -62,7 +62,7 @@ PipelineHandlerVimc::~PipelineHandlerVimc() std::map<Stream *, StreamConfiguration> PipelineHandlerVimc::streamConfiguration(Camera *camera, - std::vector<Stream *> &streams) + std::set<Stream *> &streams) { std::map<Stream *, StreamConfiguration> configs; @@ -171,7 +171,7 @@ bool PipelineHandlerVimc::match(DeviceEnumerator *enumerator) return false; } - std::vector<Stream *> streams{ &stream_ }; + std::set<Stream *> streams{ &stream_ }; std::shared_ptr<Camera> camera = Camera::create(this, "VIMC Sensor B", streams); registerCamera(std::move(camera)); |