7#ifndef __LIBCAMERA_REQUEST_H__
8#define __LIBCAMERA_REQUEST_H__
14#include <unordered_set>
24class CameraControlValidator;
42 using BufferMap = std::map<const Stream *, FrameBuffer *>;
55 uint32_t
sequence()
const {
return sequence_; }
56 uint64_t
cookie()
const {
return cookie_; }
77 std::unordered_set<FrameBuffer *> pending_;
80 const uint64_t cookie_;
Utilities to help constructing class interfaces.
#define LIBCAMERA_DISABLE_COPY(klass)
Disable copy construction and assignment of the klass.
Camera device.
Definition: camera.h:77
Associate a list of ControlId with their values for an object.
Definition: controls.h:350
Frame buffer data and its associated dynamic metadata.
Definition: framebuffer.h:49
Create and manage cameras based on a set of media devices.
Definition: pipeline_handler.h:37
A frame capture request.
Definition: request.h:29
Status
Definition: request.h:31
@ RequestPending
Definition: request.h:32
@ RequestCancelled
Definition: request.h:34
@ RequestComplete
Definition: request.h:33
uint32_t sequence() const
Retrieve the sequence number for the request.
Definition: request.h:55
const BufferMap & buffers() const
Retrieve the request's streams to buffers map.
Definition: request.h:51
std::string toString() const
Generate a string representation of the Request internals.
Definition: request.cpp:351
std::map< const Stream *, FrameBuffer * > BufferMap
A map of Stream to FrameBuffer pointers.
Definition: request.h:42
int addBuffer(const Stream *stream, FrameBuffer *buffer)
Add a FrameBuffer with its associated Stream to the Request.
Definition: request.cpp:177
uint64_t cookie() const
Retrieve the cookie set when the request was created.
Definition: request.h:56
ReuseFlag
Definition: request.h:37
@ ReuseBuffers
Definition: request.h:39
@ Default
Definition: request.h:38
FrameBuffer * findBuffer(const Stream *stream) const
Return the buffer associated with a stream.
Definition: request.cpp:212
Status status() const
Retrieve the request completion status.
Definition: request.h:57
ControlList & metadata()
Retrieve the request's metadata.
Definition: request.h:50
bool hasPendingBuffers() const
Check if a request has buffers yet to be completed.
Definition: request.h:59
Request(Camera *camera, uint64_t cookie=0)
Create a capture request for a camera.
Definition: request.cpp:77
ControlList & controls()
Retrieve the request's ControlList.
Definition: request.h:49
void reuse(ReuseFlag flags=Default)
Reset the request for reuse.
Definition: request.cpp:112
Video stream for a camera.
Definition: stream.h:71
Framework to manage controls related to an object.
Top-level libcamera namespace.
Definition: backtrace.h:17
Signal & slot implementation.