@@ -7,6 +7,7 @@
#include <chrono>
#include <climits>
+#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <sstream>
@@ -114,6 +115,7 @@ int Capture::capture(EventLoop *loop)
}
for (Request *request : requests) {
+ setControls(request);
ret = camera_->queueRequest(request);
if (ret < 0) {
std::cerr << "Can't queue request" << std::endl;
@@ -188,5 +190,15 @@ void Capture::requestComplete(Request *request, const std::map<Stream *, Buffer
request->addBuffer(std::move(newBuffer));
}
+ setControls(request);
camera_->queueRequest(request);
}
+
+void Capture::setControls(libcamera::Request *request)
+{
+ ControlList &controls = request->controls();
+
+ controls[Brightness] = rand() % 255;
+ controls[Saturation] = rand() % 500;
+ controls[Contrast] = rand() % 128;
+}
@@ -31,6 +31,8 @@ private:
void requestComplete(libcamera::Request *request,
const std::map<libcamera::Stream *, libcamera::Buffer *> &buffers);
+ void setControls(libcamera::Request *request);
+
libcamera::Camera *camera_;
libcamera::CameraConfiguration *config_;
Set random values for 3 controls supporte by the VIMC camera. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> --- src/cam/capture.cpp | 12 ++++++++++++ src/cam/capture.h | 2 ++ 2 files changed, 14 insertions(+)