diff options
Diffstat (limited to 'test/v4l2_videodevice/v4l2_m2mdevice.cpp')
-rw-r--r-- | test/v4l2_videodevice/v4l2_m2mdevice.cpp | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/test/v4l2_videodevice/v4l2_m2mdevice.cpp b/test/v4l2_videodevice/v4l2_m2mdevice.cpp index d20e5dfc..c45f581a 100644 --- a/test/v4l2_videodevice/v4l2_m2mdevice.cpp +++ b/test/v4l2_videodevice/v4l2_m2mdevice.cpp @@ -7,19 +7,21 @@ #include <iostream> -#include <libcamera/buffer.h> -#include <libcamera/event_dispatcher.h> -#include <libcamera/timer.h> +#include <libcamera/framebuffer.h> -#include "device_enumerator.h" -#include "media_device.h" -#include "thread.h" -#include "v4l2_videodevice.h" +#include <libcamera/base/event_dispatcher.h> +#include <libcamera/base/thread.h> +#include <libcamera/base/timer.h> + +#include "libcamera/internal/device_enumerator.h" +#include "libcamera/internal/media_device.h" +#include "libcamera/internal/v4l2_videodevice.h" #include "test.h" -using namespace std; using namespace libcamera; +using namespace std; +using namespace std::chrono_literals; class V4L2M2MDeviceTest : public Test { @@ -93,6 +95,11 @@ protected: V4L2VideoDevice *capture = vim2m_->capture(); V4L2VideoDevice *output = vim2m_->output(); + if (capture->controls().empty() || output->controls().empty()) { + cerr << "VIM2M device has no control" << endl; + return TestFail; + } + V4L2DeviceFormat format = {}; if (capture->getFormat(&format)) { cerr << "Failed to get capture format" << endl; @@ -154,7 +161,7 @@ protected: } Timer timeout; - timeout.start(5000); + timeout.start(5000ms); while (timeout.isRunning()) { dispatcher->processEvents(); if (captureFrames_ > 30) @@ -187,7 +194,7 @@ protected: void cleanup() { delete vim2m_; - }; + } private: std::unique_ptr<DeviceEnumerator> enumerator_; @@ -201,4 +208,4 @@ private: unsigned int captureFrames_; }; -TEST_REGISTER(V4L2M2MDeviceTest); +TEST_REGISTER(V4L2M2MDeviceTest) |