mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-19 18:35:07 +03:00
android: camera_buffer: Implement libcamera::Extensible
In order to prepare to support more memory backends, make the CameraBuffer class implement the PIMPL (pointer-to-implementation) pattern by inheriting from the libcamera::Extensible class. Temporary maintain libcamera::MappedBuffer as the CameraBuffer base class to maintain compatibility of the CameraStream::process() interface that requires a MappedBuffer * as second argument and will be converted to use a CameraBuffer in the next patch. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
a725baf4b3
commit
63383dec43
2 changed files with 77 additions and 2 deletions
|
@ -9,13 +9,25 @@
|
|||
|
||||
#include <hardware/camera3.h>
|
||||
|
||||
#include <libcamera/class.h>
|
||||
#include <libcamera/internal/buffer.h>
|
||||
#include <libcamera/span.h>
|
||||
|
||||
class CameraBuffer : public libcamera::MappedBuffer
|
||||
class CameraBuffer final : public libcamera::Extensible,
|
||||
public libcamera::MappedBuffer
|
||||
{
|
||||
LIBCAMERA_DECLARE_PRIVATE(CameraBuffer)
|
||||
|
||||
public:
|
||||
CameraBuffer(buffer_handle_t camera3Buffer, int flags);
|
||||
~CameraBuffer();
|
||||
|
||||
bool isValid() const;
|
||||
|
||||
unsigned int numPlanes() const;
|
||||
|
||||
libcamera::Span<const uint8_t> plane(unsigned int plane) const;
|
||||
libcamera::Span<uint8_t> plane(unsigned int plane);
|
||||
};
|
||||
|
||||
#endif /* __ANDROID_CAMERA_BUFFER_H__ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue