summaryrefslogtreecommitdiff
path: root/src/libcamera/v4l2_device.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libcamera/v4l2_device.cpp')
-rw-r--r--src/libcamera/v4l2_device.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp
index f9839fc7..e8755be1 100644
--- a/src/libcamera/v4l2_device.cpp
+++ b/src/libcamera/v4l2_device.cpp
@@ -9,6 +9,7 @@
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
+#include <sys/time.h>
#include <unistd.h>
#include <vector>
@@ -723,7 +724,14 @@ Buffer *V4L2Device::dequeueBuffer()
if (--queuedBuffersCount_ == 0)
fdEvent_->setEnabled(false);
- return &bufferPool_->buffers()[buf.index];
+ Buffer *buffer = &bufferPool_->buffers()[buf.index];
+
+ buffer->bytesused_ = buf.bytesused;
+ buffer->timestamp_ = buf.timestamp.tv_sec * 1000000000ULL
+ + buf.timestamp.tv_usec * 1000ULL;
+ buffer->sequence_ = buf.sequence;
+
+ return buffer;
}
/**