summaryrefslogtreecommitdiff
path: root/test/process/meson.build
blob: a80dc2d99fdd0615f75473743441a7bd29c359a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# SPDX-License-Identifier: CC0-1.0

process_tests = [
    {'name': 'process_test', 'sources': ['process_test.cpp']},
]

foreach test : process_tests
    exe = executable(test['name'], test['sources'],
                     dependencies : libcamera_private,
                     link_with : test_libraries,
                     include_directories : test_includes_internal)

    test(test['name'], exe, suite : 'process', is_parallel : false)
endforeach
lass="hl ppc">#include <libcamera/buffer.h> #include <libcamera/camera.h> #include <libcamera/file_descriptor.h> #include "semaphore.h" using namespace libcamera; class V4L2FrameMetadata { public: V4L2FrameMetadata(Buffer *buffer); int index() const { return index_; } unsigned int bytesused() const { return bytesused_; } uint64_t timestamp() const { return timestamp_; } unsigned int sequence() const { return sequence_; } Buffer::Status status() const { return status_; } private: int index_; unsigned int bytesused_; uint64_t timestamp_; unsigned int sequence_; Buffer::Status status_; }; class V4L2Camera : public Object { public: V4L2Camera(std::shared_ptr<Camera> camera); ~V4L2Camera(); int open(); void close(); void getStreamConfig(StreamConfiguration *streamConfig); std::vector<V4L2FrameMetadata> completedBuffers(); int configure(StreamConfiguration *streamConfigOut, const Size &size, PixelFormat pixelformat, unsigned int bufferCount); int allocBuffers(unsigned int count); void freeBuffers(); FileDescriptor getBufferFd(unsigned int index); int streamOn(); int streamOff(); int qbuf(unsigned int index); Semaphore bufferSema_; private: void requestComplete(Request *request); std::shared_ptr<Camera> camera_; std::unique_ptr<CameraConfiguration> config_; bool isRunning_; std::mutex bufferLock_; std::deque<std::unique_ptr<Request>> pendingRequests_; std::deque<std::unique_ptr<V4L2FrameMetadata>> completedBuffers_; }; #endif /* __V4L2_CAMERA_H__ */