libcamera: request: Provide a sequence number

Provide a sequence number on Requests which are added by the pipeline
handler.

Each pipeline handler keeps a requestSequence per CameraData and
increments everytime a request is queued on that camera.

The sequence number is associated with the Request and can be utilised
for assisting with debugging, and printing the queueing sequence of in
flight requests.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Kieran Bingham 2021-03-10 17:44:42 +00:00
parent dcc024760a
commit d874b3e341
4 changed files with 27 additions and 3 deletions

View file

@ -38,7 +38,7 @@ class CameraData
{
public:
explicit CameraData(PipelineHandler *pipe)
: pipe_(pipe)
: pipe_(pipe), requestSequence_(0)
{
}
virtual ~CameraData() = default;
@ -48,6 +48,8 @@ public:
ControlInfoMap controlInfo_;
ControlList properties_;
uint32_t requestSequence_;
private:
LIBCAMERA_DISABLE_COPY(CameraData)
};

View file

@ -50,6 +50,7 @@ public:
int addBuffer(const Stream *stream, FrameBuffer *buffer);
FrameBuffer *findBuffer(const Stream *stream) const;
uint32_t sequence() const { return sequence_; }
uint64_t cookie() const { return cookie_; }
Status status() const { return status_; }
@ -71,6 +72,7 @@ private:
BufferMap bufferMap_;
std::unordered_set<FrameBuffer *> pending_;
uint32_t sequence_;
const uint64_t cookie_;
Status status_;
bool cancelled_;