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>
This commit is contained in:
parent
42a00cb617
commit
257df552a4
4 changed files with 138 additions and 98 deletions
32
test/libtest/buffer_source.h
Normal file
32
test/libtest/buffer_source.h
Normal file
|
@ -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__ */
|
Loading…
Add table
Add a link
Reference in a new issue