@@ -6,6 +6,7 @@
*/
#include <libcamera/camera.h>
+#include <libcamera/request.h>
#include <libcamera/stream.h>
#include "device_enumerator.h"
@@ -126,6 +127,19 @@ void PipelineHandlerUVC::stop(const Camera *camera)
int PipelineHandlerUVC::queueRequest(const Camera *camera, Request *request)
{
+ /* Set any controls, queue any buffers */
+
+ if (request->bufferMap.find(&stream_) == request->bufferMap.end()) {
+ LOG(UVC, Error)
+ << "Attempt to queue request with invalid stream";
+
+ return -ENOENT;
+ }
+
+ Buffer *buffer = request->bufferMap[&stream_];
+
+ video_->queueBuffer(buffer);
+
return 0;
}