qcam: main_window: Move request queuing to a separate function
Requests are requeued synchronously from the completion handler. To prepare for delayed requeuing, move the queuing to a separate function. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
+15
-14
@@ -389,20 +389,7 @@ void MainWindow::requestComplete(Request *request)
|
||||
|
||||
display(buffer);
|
||||
|
||||
request = camera_->createRequest();
|
||||
if (!request) {
|
||||
std::cerr << "Can't create request" << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
for (auto it = buffers.begin(); it != buffers.end(); ++it) {
|
||||
Stream *stream = it->first;
|
||||
FrameBuffer *buffer = it->second;
|
||||
|
||||
request->addBuffer(stream, buffer);
|
||||
}
|
||||
|
||||
camera_->queueRequest(request);
|
||||
queueRequest(buffer);
|
||||
}
|
||||
|
||||
int MainWindow::display(FrameBuffer *buffer)
|
||||
@@ -417,3 +404,17 @@ int MainWindow::display(FrameBuffer *buffer)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void MainWindow::queueRequest(FrameBuffer *buffer)
|
||||
{
|
||||
Request *request = camera_->createRequest();
|
||||
if (!request) {
|
||||
std::cerr << "Can't create request" << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
Stream *stream = config_->at(0).stream();
|
||||
request->addBuffer(stream, buffer);
|
||||
|
||||
camera_->queueRequest(request);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user