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/cam | |
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/cam')
-rw-r--r-- | src/cam/main.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/cam/main.cpp b/src/cam/main.cpp index 8df8844c..13aa3596 100644 --- a/src/cam/main.cpp +++ b/src/cam/main.cpp @@ -75,10 +75,10 @@ static int parseOptions(int argc, char *argv[]) return 0; } -static int configureStreams(Camera *camera, std::vector<Stream *> &streams) +static int configureStreams(Camera *camera, std::set<Stream *> &streams) { KeyValueParser::Options format = options[OptFormat]; - Stream *id = streams.front(); + Stream *id = *streams.begin(); std::map<Stream *, StreamConfiguration> config = camera->streamConfiguration(streams); @@ -132,7 +132,7 @@ static int capture() { int ret; - std::vector<Stream *> streams = camera->streams(); + std::set<Stream *> streams = camera->streams(); std::vector<Request *> requests; ret = configureStreams(camera.get(), streams); @@ -141,7 +141,7 @@ static int capture() return ret; } - Stream *stream = streams.front(); + Stream *stream = *streams.begin(); ret = camera->allocateBuffers(); if (ret) { @@ -237,7 +237,7 @@ int main(int argc, char **argv) goto out; } - const std::vector<Stream *> &streams = camera->streams(); + const std::set<Stream *> &streams = camera->streams(); if (streams.size() != 1) { std::cout << "Camera has " << streams.size() << " streams, only 1 is supported" |