libcamera: v4l2_videodevice: Refactor allocateBuffers()

Move the buffer creation code out of allocateBuffers() to a
createBuffers() function. This prepare for the rework of buffer export
and will avoid code duplication.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
Laurent Pinchart
2020-03-14 16:14:27 +02:00
parent 92830a1d00
commit 4c82053d4a
2 changed files with 40 additions and 34 deletions

View File

@@ -227,7 +227,9 @@ private:
int setSelection(unsigned int target, Rectangle *rect);
int requestBuffers(unsigned int count, enum v4l2_memory memoryType);
std::unique_ptr<FrameBuffer> createBuffer(const struct v4l2_buffer &buf);
int createBuffers(unsigned int count,
std::vector<std::unique_ptr<FrameBuffer>> *buffers);
std::unique_ptr<FrameBuffer> createBuffer(unsigned int index);
FileDescriptor exportDmabufFd(unsigned int index, unsigned int plane);
void bufferAvailable(EventNotifier *notifier);