mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-23 00:25:07 +03:00
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:
parent
acd02afab0
commit
8e7d1bbe9b
2 changed files with 16 additions and 14 deletions
|
@ -389,20 +389,7 @@ void MainWindow::requestComplete(Request *request)
|
||||||
|
|
||||||
display(buffer);
|
display(buffer);
|
||||||
|
|
||||||
request = camera_->createRequest();
|
queueRequest(buffer);
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int MainWindow::display(FrameBuffer *buffer)
|
int MainWindow::display(FrameBuffer *buffer)
|
||||||
|
@ -417,3 +404,17 @@ int MainWindow::display(FrameBuffer *buffer)
|
||||||
|
|
||||||
return 0;
|
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);
|
||||||
|
}
|
||||||
|
|
|
@ -58,6 +58,7 @@ private:
|
||||||
|
|
||||||
void requestComplete(Request *request);
|
void requestComplete(Request *request);
|
||||||
int display(FrameBuffer *buffer);
|
int display(FrameBuffer *buffer);
|
||||||
|
void queueRequest(FrameBuffer *buffer);
|
||||||
|
|
||||||
QString title_;
|
QString title_;
|
||||||
QTimer titleTimer_;
|
QTimer titleTimer_;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue