summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libcamera/pipeline/raspberrypi/delayed_controls.h13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/libcamera/pipeline/raspberrypi/delayed_controls.h b/src/libcamera/pipeline/raspberrypi/delayed_controls.h
index f7f24648..238b86ab 100644
--- a/src/libcamera/pipeline/raspberrypi/delayed_controls.h
+++ b/src/libcamera/pipeline/raspberrypi/delayed_controls.h
@@ -56,17 +56,18 @@ private:
};
static constexpr int listSize = 16;
- class ControlRingBuffer : public std::array<Info, listSize>
+ template<typename T>
+ class RingBuffer : public std::array<T, listSize>
{
public:
- Info &operator[](unsigned int index)
+ T &operator[](unsigned int index)
{
- return std::array<Info, listSize>::operator[](index % listSize);
+ return std::array<T, listSize>::operator[](index % listSize);
}
- const Info &operator[](unsigned int index) const
+ const T &operator[](unsigned int index) const
{
- return std::array<Info, listSize>::operator[](index % listSize);
+ return std::array<T, listSize>::operator[](index % listSize);
}
};
@@ -76,7 +77,7 @@ private:
uint32_t queueCount_;
uint32_t writeCount_;
- std::unordered_map<const ControlId *, ControlRingBuffer> values_;
+ std::unordered_map<const ControlId *, RingBuffer<Info>> values_;
};
} /* namespace RPi */