libcamera: framebuffer: Add assertion to detect offset is unfilled
The offset variable is introduced to FrameBuffer::Plane. In order to detect that the plane is used while the offset is not set, this adds the assertion to FrameBuffer::planes(). It should be removed in the future. Signed-off-by: Hirokazu Honda <hiroh@chromium.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
dde91916f1
commit
887dbdb439
2 changed files with 16 additions and 2 deletions
|
@ -7,6 +7,8 @@
|
|||
#ifndef __LIBCAMERA_FRAMEBUFFER_H__
|
||||
#define __LIBCAMERA_FRAMEBUFFER_H__
|
||||
|
||||
#include <assert.h>
|
||||
#include <limits>
|
||||
#include <stdint.h>
|
||||
#include <vector>
|
||||
|
||||
|
@ -41,14 +43,21 @@ class FrameBuffer final : public Extensible
|
|||
|
||||
public:
|
||||
struct Plane {
|
||||
static constexpr unsigned int kInvalidOffset = std::numeric_limits<unsigned int>::max();
|
||||
FileDescriptor fd;
|
||||
unsigned int offset;
|
||||
unsigned int offset = kInvalidOffset;
|
||||
unsigned int length;
|
||||
};
|
||||
|
||||
FrameBuffer(const std::vector<Plane> &planes, unsigned int cookie = 0);
|
||||
|
||||
const std::vector<Plane> &planes() const { return planes_; }
|
||||
const std::vector<Plane> &planes() const
|
||||
{
|
||||
/* \todo Remove the assertions after sufficient testing */
|
||||
for (const auto &plane : planes_)
|
||||
assert(plane.offset != Plane::kInvalidOffset);
|
||||
return planes_;
|
||||
}
|
||||
|
||||
Request *request() const;
|
||||
const FrameMetadata &metadata() const { return metadata_; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue