From b3ad7b8654ee0166c86a53d19c3f8b7e0b4fd4ca Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Thu, 4 Jul 2019 11:26:43 +0100 Subject: qcam: Move static timestamp to MainWindow The 'last' buffer timestamp is stored as a static. Rename the variable to a more descritive 'lastBufferTime' and move it to the class instance. Reviewed-by: Laurent Pinchart Signed-off-by: Kieran Bingham --- src/qcam/main_window.cpp | 10 +++++----- src/qcam/main_window.h | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp index 16b12313..0f737d85 100644 --- a/src/qcam/main_window.cpp +++ b/src/qcam/main_window.cpp @@ -144,6 +144,8 @@ int MainWindow::startCapture() requests.push_back(request); } + lastBufferTime_ = 0; + ret = camera_->start(); if (ret) { std::cout << "Failed to start capture" << std::endl; @@ -187,16 +189,14 @@ void MainWindow::stopCapture() void MainWindow::requestComplete(Request *request, const std::map &buffers) { - static uint64_t last = 0; - if (request->status() == Request::RequestCancelled) return; Buffer *buffer = buffers.begin()->second; - double fps = buffer->timestamp() - last; - fps = last && fps ? 1000000000.0 / fps : 0.0; - last = buffer->timestamp(); + double fps = buffer->timestamp() - lastBufferTime_; + fps = lastBufferTime_ && fps ? 1000000000.0 / fps : 0.0; + lastBufferTime_ = buffer->timestamp(); std::cout << "seq: " << std::setw(6) << std::setfill('0') << buffer->sequence() << " buf: " << buffer->index() diff --git a/src/qcam/main_window.h b/src/qcam/main_window.h index fe565cbc..345bdaae 100644 --- a/src/qcam/main_window.h +++ b/src/qcam/main_window.h @@ -48,6 +48,8 @@ private: bool isCapturing_; std::unique_ptr config_; + uint64_t lastBufferTime_; + ViewFinder *viewfinder_; }; -- cgit v1.2.1