libcamera v0.0.0+3423-a7ab5ef1
Supporting cameras in Linux since 2019
framebuffer.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2/*
3 * Copyright (C) 2020, Google Inc.
4 *
5 * framebuffer.h - Internal frame buffer handling
6 */
7
8#pragma once
9
10#include <memory>
11#include <utility>
12
14
15#include <libcamera/fence.h>
17
18namespace libcamera {
19
21{
23
24public:
25 Private();
26 virtual ~Private();
27
28 void setRequest(Request *request) { request_ = request; }
29 bool isContiguous() const { return isContiguous_; }
30
31 Fence *fence() const { return fence_.get(); }
32 void setFence(std::unique_ptr<Fence> fence) { fence_ = std::move(fence); }
33
34private:
35 std::unique_ptr<Fence> fence_;
36 Request *request_;
37 bool isContiguous_;
38};
39
40} /* namespace libcamera */
Utilities to help constructing class interfaces.
#define LIBCAMERA_DECLARE_PUBLIC(klass)
Declare public data for a private class.
Base class for private data managed through a d-pointer.
Definition: class.h:65
Synchronization primitive to manage resources.
Definition: fence.h:16
Base class for FrameBuffer private data.
Definition: framebuffer.h:21
virtual ~Private()
FrameBuffer::Private destructor.
Definition: framebuffer.cpp:125
void setRequest(Request *request)
Set the request this buffer belongs to.
Definition: framebuffer.h:28
Fence * fence() const
Retrieve a const pointer to the Fence.
Definition: framebuffer.h:31
bool isContiguous() const
Check if the frame buffer stores planes contiguously in memory.
Definition: framebuffer.h:29
void setFence(std::unique_ptr< Fence > fence)
Move a fence in this buffer.
Definition: framebuffer.h:32
Frame buffer data and its associated dynamic metadata.
Definition: framebuffer.h:50
Request * request() const
Retrieve the request this buffer belongs to.
Definition: framebuffer.cpp:357
A frame capture request.
Definition: request.h:30
Definition of the Fence class.
Frame buffer handling.
Top-level libcamera namespace.
Definition: backtrace.h:17