@@ -80,6 +80,8 @@ TEST_P(SingleStream, Capture)
capture.configure(role);
+ capture.allocateBuffers();
+
capture.capture(numRequests);
}
@@ -99,8 +101,10 @@ TEST_P(SingleStream, CaptureStartStop)
capture.configure(role);
- for (unsigned int starts = 0; starts < numRepeats; starts++)
+ for (unsigned int starts = 0; starts < numRepeats; starts++) {
+ capture.allocateBuffers();
capture.capture(numRequests);
+ }
}
/*
@@ -118,6 +122,8 @@ TEST_P(SingleStream, UnbalancedStop)
capture.configure(role);
+ capture.allocateBuffers();
+
capture.capture(numRequests);
}
@@ -44,15 +44,22 @@ void SimpleCapture::configure(StreamRole role)
}
}
-void SimpleCapture::start()
+void SimpleCapture::allocateBuffers()
+{
+ allocateBuffers(camera_->properties().get(properties::MinNumRequests));
+}
+
+void SimpleCapture::allocateBuffers(unsigned int count)
{
- unsigned int bufferCount = camera_->properties().get(properties::MinNumRequests);
Stream *stream = config_->at(0).stream();
- int count = allocator_->allocate(stream, bufferCount);
+ int allocatedCount = allocator_->allocate(stream, count);
ASSERT_GE(count, 0) << "Failed to allocate buffers";
- EXPECT_EQ(static_cast<unsigned int>(count), bufferCount) << "Allocated less buffers than expected";
+ EXPECT_EQ(static_cast<unsigned int>(allocatedCount), count) << "Allocated less buffers than expected";
+}
+void SimpleCapture::start()
+{
camera_->requestCompleted.connect(this, &SimpleCapture::requestComplete);
ASSERT_EQ(camera_->start(), 0) << "Failed to start camera";
@@ -17,6 +17,8 @@ class SimpleCapture
{
public:
void configure(libcamera::StreamRole role);
+ void allocateBuffers();
+ void allocateBuffers(unsigned int count);
protected:
SimpleCapture(std::shared_ptr<libcamera::Camera> camera);
Move buffer allocation to its own function and with a count argument so tests can specify how many buffers to allocate. Also add an overloaded function with no arguments and that allocates MinNumRequests buffers for easier use by current tests. Signed-off-by: NĂcolas F. R. A. Prado <nfraprado@collabora.com> --- No changes in v6 Added in v5 src/lc-compliance/capture_test.cpp | 8 +++++++- src/lc-compliance/simple_capture.cpp | 15 +++++++++++---- src/lc-compliance/simple_capture.h | 2 ++ 3 files changed, 20 insertions(+), 5 deletions(-)