test: v4l2_videodevice: Switch to FrameBuffer interface

The V4L2VideoDevice class can now operate using a FrameBuffer interface,
switch all test cases to use it.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Niklas Söderlund 2019-12-18 18:47:45 +01:00
parent cadae67e45
commit f0d928b56e
6 changed files with 48 additions and 65 deletions

View file

@ -20,7 +20,7 @@ public:
CaptureAsyncTest()
: V4L2VideoDeviceTest("vimc", "Raw Capture 0"), frames(0) {}
void receiveBuffer(Buffer *buffer)
void receiveBuffer(FrameBuffer *buffer)
{
std::cout << "Buffer received" << std::endl;
frames++;
@ -38,18 +38,18 @@ protected:
Timer timeout;
int ret;
pool_.createBuffers(bufferCount);
ret = capture_->exportBuffers(&pool_);
if (ret)
ret = capture_->exportBuffers(bufferCount, &buffers_);
if (ret < 0)
return TestFail;
capture_->bufferReady.connect(this, &CaptureAsyncTest::receiveBuffer);
capture_->frameBufferReady.connect(this, &CaptureAsyncTest::receiveBuffer);
std::vector<std::unique_ptr<Buffer>> buffers;
buffers = capture_->queueAllBuffers();
if (buffers.empty())
return TestFail;
for (const std::unique_ptr<FrameBuffer> &buffer : buffers_) {
if (capture_->queueBuffer(buffer.get())) {
std::cout << "Failed to queue buffer" << std::endl;
return TestFail;
}
}
ret = capture_->streamOn();
if (ret)