summaryrefslogtreecommitdiff
path: root/src/libcamera/pipeline/raspberrypi/delayed_controls.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcamera/pipeline/raspberrypi/delayed_controls.h')
-rw-r--r--src/libcamera/pipeline/raspberrypi/delayed_controls.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libcamera/pipeline/raspberrypi/delayed_controls.h b/src/libcamera/pipeline/raspberrypi/delayed_controls.h
index 238b86ab..61f755f0 100644
--- a/src/libcamera/pipeline/raspberrypi/delayed_controls.h
+++ b/src/libcamera/pipeline/raspberrypi/delayed_controls.h
@@ -11,6 +11,7 @@
#include <stdint.h>
#include <unordered_map>
+#include <utility>
#include <libcamera/controls.h>
@@ -31,10 +32,10 @@ public:
DelayedControls(V4L2Device *device,
const std::unordered_map<uint32_t, ControlParams> &controlParams);
- void reset();
+ void reset(unsigned int cookie);
- bool push(const ControlList &controls);
- ControlList get(uint32_t sequence);
+ bool push(const ControlList &controls, unsigned int cookie);
+ std::pair<ControlList, unsigned int> get(uint32_t sequence);
void applyControls(uint32_t sequence);
@@ -78,6 +79,7 @@ private:
uint32_t queueCount_;
uint32_t writeCount_;
std::unordered_map<const ControlId *, RingBuffer<Info>> values_;
+ RingBuffer<unsigned int> cookies_;
};
} /* namespace RPi */