summaryrefslogtreecommitdiff
path: root/src/v4l2/v4l2_camera.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/v4l2/v4l2_camera.cpp')
-rw-r--r--src/v4l2/v4l2_camera.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/v4l2/v4l2_camera.cpp b/src/v4l2/v4l2_camera.cpp
index 4da01a45..3c369328 100644
--- a/src/v4l2/v4l2_camera.cpp
+++ b/src/v4l2/v4l2_camera.cpp
@@ -8,6 +8,7 @@
#include "v4l2_camera.h"
#include <errno.h>
+#include <unistd.h>
#include "libcamera/internal/log.h"
@@ -53,6 +54,11 @@ void V4L2Camera::close()
camera_->release();
}
+void V4L2Camera::bind(int efd)
+{
+ efd_ = efd;
+}
+
void V4L2Camera::getStreamConfig(StreamConfiguration *streamConfig)
{
*streamConfig = config_->at(0);
@@ -84,6 +90,9 @@ void V4L2Camera::requestComplete(Request *request)
completedBuffers_.push_back(std::move(metadata));
bufferLock_.unlock();
+ uint64_t data = 1;
+ ::write(efd_, &data, sizeof(data));
+
bufferSema_.release();
}