diff options
Diffstat (limited to 'test/v4l2_device/capture_async.cpp')
-rw-r--r-- | test/v4l2_device/capture_async.cpp | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/test/v4l2_device/capture_async.cpp b/test/v4l2_device/capture_async.cpp deleted file mode 100644 index 69b1d5a1..00000000 --- a/test/v4l2_device/capture_async.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -/* - * Copyright (C) 2019, Google Inc. - * - * libcamera V4L2 API tests - */ - -#include <libcamera/buffer.h> -#include <libcamera/camera_manager.h> -#include <libcamera/event_dispatcher.h> -#include <libcamera/timer.h> - -#include <iostream> - -#include "v4l2_device_test.h" - -class CaptureAsyncTest : public V4L2DeviceTest -{ -public: - CaptureAsyncTest() - : V4L2DeviceTest("vimc", "Raw Capture 0"), frames(0) {} - - void receiveBuffer(Buffer *buffer) - { - std::cout << "Received buffer " << buffer->index() << std::endl; - frames++; - - /* Requeue the buffer for further use. */ - capture_->queueBuffer(buffer); - } - -protected: - int run() - { - const unsigned int bufferCount = 8; - - EventDispatcher *dispatcher = CameraManager::instance()->eventDispatcher(); - Timer timeout; - int ret; - - pool_.createBuffers(bufferCount); - - ret = capture_->exportBuffers(&pool_); - if (ret) - return TestFail; - - capture_->bufferReady.connect(this, &CaptureAsyncTest::receiveBuffer); - - /* Queue all the buffers to the device. */ - for (Buffer &b : pool_.buffers()) { - if (capture_->queueBuffer(&b)) - return TestFail; - } - - ret = capture_->streamOn(); - if (ret) - return TestFail; - - timeout.start(10000); - while (timeout.isRunning()) { - dispatcher->processEvents(); - if (frames > 30) - break; - } - - if (frames < 1) { - std::cout << "Failed to capture any frames within timeout." << std::endl; - return TestFail; - } - - if (frames < 30) { - std::cout << "Failed to capture 30 frames within timeout." << std::endl; - return TestFail; - } - - std::cout << "Processed " << frames << " frames" << std::endl; - - ret = capture_->streamOff(); - if (ret) - return TestFail; - - return TestPass; - } - -private: - unsigned int frames; -}; - -TEST_REGISTER(CaptureAsyncTest); |