diff options
author | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2020-02-24 20:12:45 +0100 |
---|---|---|
committer | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2020-03-06 17:45:48 +0100 |
commit | 257df552a454d7afdc339ef88040e986400d2d89 (patch) | |
tree | 85f68de72ec4564aeedc6ef3f47aaa3bb2c3e695 /test/libtest/buffer_source.h | |
parent | 42a00cb6172230b822f5c8a910b73e94d4be84cf (diff) |
test: Extract BufferSource class out of camera tests to libtest
The BufferSource class can be used by other tests other then the camera
buffer importer test, move it to libtest. The only changes to
BufferSource is for it to be allowed to be split in a header and source
file.
This change makes it necessary for libtest to have access to internal
libcamera headers. As the internal headers already are accessible to all
test cases this does not increase the exposure of libcamera internals to
the test cases.
Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'test/libtest/buffer_source.h')
-rw-r--r-- | test/libtest/buffer_source.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/libtest/buffer_source.h b/test/libtest/buffer_source.h new file mode 100644 index 00000000..2d8fc5ac --- /dev/null +++ b/test/libtest/buffer_source.h @@ -0,0 +1,32 @@ +/* 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_; + V4L2VideoDevice *video_; + std::vector<std::unique_ptr<FrameBuffer>> buffers_; +}; + +#endif /* __LIBCAMERA_BUFFER_SOURCE_TEST_H__ */ |