summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/libcamera/internal/pipeline_handler.h6
-rw-r--r--include/libcamera/internal/tracepoints/request.tp9
2 files changed, 15 insertions, 0 deletions
diff --git a/include/libcamera/internal/pipeline_handler.h b/include/libcamera/internal/pipeline_handler.h
index 3de27ae9..6aa33785 100644
--- a/include/libcamera/internal/pipeline_handler.h
+++ b/include/libcamera/internal/pipeline_handler.h
@@ -8,6 +8,7 @@
#pragma once
#include <memory>
+#include <queue>
#include <set>
#include <string>
#include <sys/types.h>
@@ -76,9 +77,14 @@ private:
void mediaDeviceDisconnected(MediaDevice *media);
virtual void disconnect();
+ void doQueueRequest(Request *request);
+ void doQueueRequests();
+
std::vector<std::shared_ptr<MediaDevice>> mediaDevices_;
std::vector<std::weak_ptr<Camera>> cameras_;
+ std::queue<Request *> waitingRequests_;
+
const char *name_;
friend class PipelineHandlerFactory;
diff --git a/include/libcamera/internal/tracepoints/request.tp b/include/libcamera/internal/tracepoints/request.tp
index f039ffd4..f1e54497 100644
--- a/include/libcamera/internal/tracepoints/request.tp
+++ b/include/libcamera/internal/tracepoints/request.tp
@@ -61,6 +61,15 @@ TRACEPOINT_EVENT_INSTANCE(
TRACEPOINT_EVENT_INSTANCE(
libcamera,
request,
+ request_device_queue,
+ TP_ARGS(
+ libcamera::Request *, req
+ )
+)
+
+TRACEPOINT_EVENT_INSTANCE(
+ libcamera,
+ request,
request_complete,
TP_ARGS(
libcamera::Request::Private *, req