android: camera_device: Fill offset and right length in CreateFrameBuffer()

CameraDevice::CreateFrameBuffer() fills the length of the buffer to
each FrameBuffer::Plane::length. It should rather be the length of
plane. This also changes CreateFrameBuffer() to fill offset of
FrameBuffer::Plane.

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:
Hirokazu Honda 2021-08-26 20:25:38 +09:00 committed by Laurent Pinchart
parent 94fb6b2f4d
commit dde91916f1
2 changed files with 37 additions and 21 deletions

View file

@ -21,6 +21,8 @@
#include <libcamera/camera.h>
#include <libcamera/framebuffer.h>
#include <libcamera/geometry.h>
#include <libcamera/pixel_format.h>
#include <libcamera/request.h>
#include <libcamera/stream.h>
@ -91,7 +93,9 @@ private:
void stop();
libcamera::FrameBuffer *createFrameBuffer(const buffer_handle_t camera3buffer);
libcamera::FrameBuffer *createFrameBuffer(const buffer_handle_t camera3buffer,
libcamera::PixelFormat pixelFormat,
const libcamera::Size &size);
void abortRequest(camera3_capture_request_t *request);
bool isValidRequest(camera3_capture_request_t *request) const;
void notifyShutter(uint32_t frameNumber, uint64_t timestamp);