summaryrefslogtreecommitdiff
path: root/src/libcamera/pipeline/rpi/common/rpi_stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcamera/pipeline/rpi/common/rpi_stream.h')
-rw-r--r--src/libcamera/pipeline/rpi/common/rpi_stream.h44
1 files changed, 3 insertions, 41 deletions
diff --git a/src/libcamera/pipeline/rpi/common/rpi_stream.h b/src/libcamera/pipeline/rpi/common/rpi_stream.h
index d1289c46..889b4997 100644
--- a/src/libcamera/pipeline/rpi/common/rpi_stream.h
+++ b/src/libcamera/pipeline/rpi/common/rpi_stream.h
@@ -54,13 +54,13 @@ public:
using StreamFlags = Flags<StreamFlag>;
Stream()
- : flags_(StreamFlag::None), id_(BufferMask::MaskID)
+ : flags_(StreamFlag::None), id_(0)
{
}
Stream(const char *name, MediaEntity *dev, StreamFlags flags = StreamFlag::None)
: flags_(flags), name_(name),
- dev_(std::make_unique<V4L2VideoDevice>(dev)), id_(BufferMask::MaskID)
+ dev_(std::make_unique<V4L2VideoDevice>(dev)), id_(0)
{
}
@@ -86,44 +86,6 @@ public:
void releaseBuffers();
private:
- class IdGenerator
- {
- public:
- IdGenerator(unsigned int max)
- : max_(max), id_(0)
- {
- }
-
- unsigned int get()
- {
- unsigned int id;
- if (!recycle_.empty()) {
- id = recycle_.front();
- recycle_.pop();
- } else {
- id = ++id_;
- ASSERT(id_ <= max_);
- }
- return id;
- }
-
- void release(unsigned int id)
- {
- recycle_.push(id);
- }
-
- void reset()
- {
- id_ = 0;
- recycle_ = {};
- }
-
- private:
- unsigned int max_;
- unsigned int id_;
- std::queue<unsigned int> recycle_;
- };
-
void clearBuffers();
int queueToDevice(FrameBuffer *buffer);
@@ -136,7 +98,7 @@ private:
std::unique_ptr<V4L2VideoDevice> dev_;
/* Tracks a unique id key for the bufferMap_ */
- IdGenerator id_;
+ unsigned int id_;
/* All frame buffers associated with this device stream. */
BufferMap bufferMap_;