@@ -55,7 +55,12 @@ protected:
completeRequestsCount_++;
- request->reuse(Request::ReuseBuffers);
+ for (const auto &[stream, buffer] : request->buffers())
+ camera_->addBuffer(stream, buffer);
+
+ request->reuse();
+ request->enableStream(config_->at(0).stream(), true);
+
camera_->queueRequest(request);
dispatcher_->interrupt();
@@ -98,17 +103,14 @@ protected:
if (ret != TestPass)
return ret;
- for (const std::unique_ptr<FrameBuffer> &buffer : source.buffers()) {
+ for ([[maybe_unused]] const auto &buffer : source.buffers()) {
std::unique_ptr<Request> request = camera_->createRequest();
if (!request) {
std::cout << "Failed to create request" << std::endl;
return TestFail;
}
- if (request->addBuffer(stream, buffer.get())) {
- std::cout << "Failed to associating buffer with request" << std::endl;
- return TestFail;
- }
+ request->enableStream(stream, true);
requests_.push_back(std::move(request));
}
@@ -124,6 +126,13 @@ protected:
return TestFail;
}
+ for (const std::unique_ptr<FrameBuffer> &buffer : source.buffers()) {
+ if (camera_->addBuffer(stream, buffer.get())) {
+ std::cout << "Failed to add buffer" << std::endl;
+ return TestFail;
+ }
+ }
+
for (std::unique_ptr<Request> &request : requests_) {
if (camera_->queueRequest(request.get())) {
std::cout << "Failed to queue request" << std::endl;
@@ -46,8 +46,12 @@ private:
if (request->status() != Request::RequestComplete)
return;
- /* Reuse the request and re-queue it with the same buffers. */
- request->reuse(Request::ReuseBuffers);
+ for (const auto &[stream, buffer] : request->buffers())
+ camera_->addBuffer(stream, buffer);
+
+ request->reuse();
+ request->enableStream(config_->at(0).stream(), true);
+
camera_->queueRequest(request);
}
@@ -80,17 +84,14 @@ private:
allocated_ = true;
}
- for (const unique_ptr<FrameBuffer> &buffer : allocator_->buffers(stream)) {
+ for ([[maybe_unused]] const auto &buffer : allocator_->buffers(stream)) {
unique_ptr<Request> request = camera_->createRequest();
if (!request) {
cerr << "Failed to create request" << endl;
return TestFail;
}
- if (request->addBuffer(stream, buffer.get())) {
- cerr << "Failed to associate buffer with request" << endl;
- return TestFail;
- }
+ request->enableStream(stream, true);
requests_.push_back(std::move(request));
}
@@ -102,6 +103,13 @@ private:
return TestFail;
}
+ for (const unique_ptr<FrameBuffer> &buffer : allocator_->buffers(stream)) {
+ if (camera_->addBuffer(stream, buffer.get())) {
+ cerr << "Failed to add buffer" << endl;
+ return TestFail;
+ }
+ }
+
for (unique_ptr<Request> &request : requests_) {
if (camera_->queueRequest(request.get())) {
cerr << "Failed to queue request" << endl;
@@ -51,7 +51,12 @@ protected:
completeRequestsCount_++;
- request->reuse(Request::ReuseBuffers);
+ for (const auto &[stream, buffer] : request->buffers())
+ camera_->addBuffer(stream, buffer);
+
+ request->reuse();
+ request->enableStream(config_->at(0).stream(), true);
+
camera_->queueRequest(request);
dispatcher_->interrupt();
@@ -99,17 +104,14 @@ protected:
if (ret < 0)
return TestFail;
- for (const std::unique_ptr<FrameBuffer> &buffer : allocator_->buffers(stream)) {
- std::unique_ptr<Request> request = camera_->createRequest();
+ for ([[maybe_unused]] const auto &buffer : allocator_->buffers(stream)) {
+ unique_ptr<Request> request = camera_->createRequest();
if (!request) {
cout << "Failed to create request" << endl;
return TestFail;
}
- if (request->addBuffer(stream, buffer.get())) {
- cout << "Failed to associate buffer with request" << endl;
- return TestFail;
- }
+ request->enableStream(stream, true);
requests_.push_back(std::move(request));
}
@@ -125,6 +127,13 @@ protected:
return TestFail;
}
+ for (const unique_ptr<FrameBuffer> &buffer : allocator_->buffers(stream)) {
+ if (camera_->addBuffer(stream, buffer.get())) {
+ cout << "Failed to add buffer" << endl;
+ return TestFail;
+ }
+ }
+
for (std::unique_ptr<Request> &request : requests_) {
if (camera_->queueRequest(request.get())) {
cout << "Failed to queue request" << endl;
@@ -150,9 +150,11 @@ protected:
return TestFail;
Stream *stream = *camera_->streams().begin();
- if (request->addBuffer(stream, allocator_->buffers(stream)[0].get()))
+ if (camera_->addBuffer(stream, allocator_->buffers(stream)[0].get()))
return TestFail;
+ request->enableStream(stream, true);
+
if (camera_->queueRequest(request.get()))
return TestFail;
Port to using the camera's buffer pool. Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> --- test/camera/buffer_import.cpp | 21 +++++++++++++++------ test/camera/camera_reconfigure.cpp | 22 +++++++++++++++------- test/camera/capture.cpp | 23 ++++++++++++++++------- test/camera/statemachine.cpp | 4 +++- 4 files changed, 49 insertions(+), 21 deletions(-)