15#include <unordered_set>
26class CameraControlValidator;
46 using BufferMap = std::map<const Stream *, FrameBuffer *>;
57 std::unique_ptr<Fence> fence =
nullptr);
61 uint64_t
cookie()
const {
return cookie_; }
75 const uint64_t cookie_;
79std::ostream &
operator<<(std::ostream &out,
const Request &r);
Utilities to help constructing class interfaces.
#define LIBCAMERA_DECLARE_PRIVATE()
Declare private data for a public class.
#define LIBCAMERA_DISABLE_COPY(klass)
Disable copy construction and assignment of the klass.
Camera device.
Definition: camera.h:115
Associate a list of ControlId with their values for an object.
Definition: controls.h:350
Base class to manage private data through a d-pointer.
Definition: class.h:62
Frame buffer data and its associated dynamic metadata.
Definition: framebuffer.h:50
A frame capture request.
Definition: request.h:31
Status
Definition: request.h:35
@ RequestPending
Definition: request.h:36
@ RequestCancelled
Definition: request.h:38
@ RequestComplete
Definition: request.h:37
bool hasPendingBuffers() const
Check if a request has buffers yet to be completed.
Definition: request.cpp:572
int addBuffer(const Stream *stream, FrameBuffer *buffer, std::unique_ptr< Fence > fence=nullptr)
Add a FrameBuffer with its associated Stream to the Request.
Definition: request.cpp:462
const BufferMap & buffers() const
Retrieve the request's streams to buffers map.
Definition: request.h:55
std::string toString() const
Generate a string representation of the Request internals.
Definition: request.cpp:585
std::map< const Stream *, FrameBuffer * > BufferMap
A map of Stream to FrameBuffer pointers.
Definition: request.h:46
uint32_t sequence() const
Retrieve the sequence number for the request.
Definition: request.cpp:542
uint64_t cookie() const
Retrieve the cookie set when the request was created.
Definition: request.h:61
ReuseFlag
Definition: request.h:41
@ ReuseBuffers
Definition: request.h:43
@ Default
Definition: request.h:42
FrameBuffer * findBuffer(const Stream *stream) const
Return the buffer associated with a stream.
Definition: request.cpp:510
Status status() const
Retrieve the request completion status.
Definition: request.h:62
ControlList & metadata()
Retrieve the request's metadata.
Definition: request.h:54
Request(Camera *camera, uint64_t cookie=0)
Create a capture request for a camera.
Definition: request.cpp:347
ControlList & controls()
Retrieve the request's ControlList.
Definition: request.h:53
void reuse(ReuseFlag flags=Default)
Reset the request for reuse.
Definition: request.cpp:382
Video stream for a camera.
Definition: stream.h:75
Framework to manage controls related to an object.
Definition of the Fence class.
Top-level libcamera namespace.
Definition: backtrace.h:17
std::ostream & operator<<(std::ostream &out, const Point &p)
Insert a text representation of a Point into an output stream.
Definition: geometry.cpp:91
Signal & slot implementation.