libcamera/test/libtest/buffer_source.h
Laurent Pinchart 556e03fea7 test: libtest: buffer_source: Close video device right after allocation
There's no need to keep the video device open after allocating buffers,
as V4L2 supports buffer orphaning and the exported buffers will still be
usable. Close the device right after allocation to avoid the need for
delayed cleanups.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
2020-03-18 19:15:18 +02:00

31 lines
701 B
C++

/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Copyright (C) 2020, Google Inc.
*
* buffer_source.h - libcamera camera test helper to create FrameBuffers
*/
#ifndef __LIBCAMERA_BUFFER_SOURCE_TEST_H__
#define __LIBCAMERA_BUFFER_SOURCE_TEST_H__
#include <libcamera/libcamera.h>
#include "media_device.h"
#include "v4l2_videodevice.h"
using namespace libcamera;
class BufferSource
{
public:
BufferSource();
~BufferSource();
int allocate(const StreamConfiguration &config);
const std::vector<std::unique_ptr<FrameBuffer>> &buffers();
private:
std::shared_ptr<MediaDevice> media_;
std::vector<std::unique_ptr<FrameBuffer>> buffers_;
};
#endif /* __LIBCAMERA_BUFFER_SOURCE_TEST_H__ */