qcam: Use Qt qInfo() and qWarning() logging facilities
Replace manual usage of std::cout and std::cerr with the Qt logging facilities. This allows redirection log output if needed, and integrates better with Qt. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
9cec54a4ee
commit
494da4467d
2 changed files with 26 additions and 27 deletions
|
@ -5,11 +5,11 @@
|
||||||
* main.cpp - cam - The libcamera swiss army knife
|
* main.cpp - cam - The libcamera swiss army knife
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <iostream>
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
|
#include <QtDebug>
|
||||||
|
|
||||||
#include <libcamera/camera_manager.h>
|
#include <libcamera/camera_manager.h>
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
void signalHandler(int signal)
|
void signalHandler(int signal)
|
||||||
{
|
{
|
||||||
std::cout << "Exiting" << std::endl;
|
qInfo() << "Exiting";
|
||||||
qApp->quit();
|
qApp->quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -65,8 +65,8 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
ret = cm->start();
|
ret = cm->start();
|
||||||
if (ret) {
|
if (ret) {
|
||||||
std::cout << "Failed to start camera manager: "
|
qInfo() << "Failed to start camera manager:"
|
||||||
<< strerror(-ret) << std::endl;
|
<< strerror(-ret);
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include "main_window.h"
|
#include "main_window.h"
|
||||||
|
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
#include <iostream>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <sys/mman.h>
|
#include <sys/mman.h>
|
||||||
|
|
||||||
|
@ -23,6 +22,7 @@
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QToolBar>
|
#include <QToolBar>
|
||||||
#include <QToolButton>
|
#include <QToolButton>
|
||||||
|
#include <QtDebug>
|
||||||
|
|
||||||
#include <libcamera/camera_manager.h>
|
#include <libcamera/camera_manager.h>
|
||||||
#include <libcamera/version.h>
|
#include <libcamera/version.h>
|
||||||
|
@ -179,11 +179,11 @@ void MainWindow::switchCamera(int index)
|
||||||
const std::shared_ptr<Camera> &cam = cameras[index];
|
const std::shared_ptr<Camera> &cam = cameras[index];
|
||||||
|
|
||||||
if (cam->acquire()) {
|
if (cam->acquire()) {
|
||||||
std::cout << "Failed to acquire camera " << cam->name() << std::endl;
|
qInfo() << "Failed to acquire camera" << cam->name().c_str();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cout << "Switching to camera " << cam->name() << std::endl;
|
qInfo() << "Switching to camera" << cam->name().c_str();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Stop the capture session, release the current camera, replace it with
|
* Stop the capture session, release the current camera, replace it with
|
||||||
|
@ -238,13 +238,12 @@ int MainWindow::openCamera()
|
||||||
/* Get and acquire the camera. */
|
/* Get and acquire the camera. */
|
||||||
camera_ = cm_->get(cameraName);
|
camera_ = cm_->get(cameraName);
|
||||||
if (!camera_) {
|
if (!camera_) {
|
||||||
std::cout << "Camera " << cameraName << " not found"
|
qInfo() << "Camera" << cameraName.c_str() << "not found";
|
||||||
<< std::endl;
|
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (camera_->acquire()) {
|
if (camera_->acquire()) {
|
||||||
std::cout << "Failed to acquire camera" << std::endl;
|
qInfo() << "Failed to acquire camera";
|
||||||
camera_.reset();
|
camera_.reset();
|
||||||
return -EBUSY;
|
return -EBUSY;
|
||||||
}
|
}
|
||||||
|
@ -300,18 +299,18 @@ int MainWindow::startCapture()
|
||||||
|
|
||||||
CameraConfiguration::Status validation = config_->validate();
|
CameraConfiguration::Status validation = config_->validate();
|
||||||
if (validation == CameraConfiguration::Invalid) {
|
if (validation == CameraConfiguration::Invalid) {
|
||||||
std::cerr << "Failed to create valid camera configuration";
|
qWarning() << "Failed to create valid camera configuration";
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (validation == CameraConfiguration::Adjusted) {
|
if (validation == CameraConfiguration::Adjusted) {
|
||||||
std::cout << "Stream size adjusted to "
|
qInfo() << "Stream size adjusted to"
|
||||||
<< cfg.size.toString() << std::endl;
|
<< cfg.size.toString().c_str();
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = camera_->configure(config_.get());
|
ret = camera_->configure(config_.get());
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
std::cout << "Failed to configure camera" << std::endl;
|
qInfo() << "Failed to configure camera";
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -320,7 +319,7 @@ int MainWindow::startCapture()
|
||||||
ret = viewfinder_->setFormat(cfg.pixelFormat,
|
ret = viewfinder_->setFormat(cfg.pixelFormat,
|
||||||
QSize(cfg.size.width, cfg.size.height));
|
QSize(cfg.size.width, cfg.size.height));
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
std::cout << "Failed to set viewfinder format" << std::endl;
|
qInfo() << "Failed to set viewfinder format";
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -330,7 +329,7 @@ int MainWindow::startCapture()
|
||||||
allocator_ = new FrameBufferAllocator(camera_);
|
allocator_ = new FrameBufferAllocator(camera_);
|
||||||
ret = allocator_->allocate(stream);
|
ret = allocator_->allocate(stream);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
std::cerr << "Failed to allocate capture buffers" << std::endl;
|
qWarning() << "Failed to allocate capture buffers";
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -338,14 +337,14 @@ int MainWindow::startCapture()
|
||||||
for (const std::unique_ptr<FrameBuffer> &buffer : allocator_->buffers(stream)) {
|
for (const std::unique_ptr<FrameBuffer> &buffer : allocator_->buffers(stream)) {
|
||||||
Request *request = camera_->createRequest();
|
Request *request = camera_->createRequest();
|
||||||
if (!request) {
|
if (!request) {
|
||||||
std::cerr << "Can't create request" << std::endl;
|
qWarning() << "Can't create request";
|
||||||
ret = -ENOMEM;
|
ret = -ENOMEM;
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = request->addBuffer(stream, buffer.get());
|
ret = request->addBuffer(stream, buffer.get());
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
std::cerr << "Can't set buffer for request" << std::endl;
|
qWarning() << "Can't set buffer for request";
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -368,7 +367,7 @@ int MainWindow::startCapture()
|
||||||
|
|
||||||
ret = camera_->start();
|
ret = camera_->start();
|
||||||
if (ret) {
|
if (ret) {
|
||||||
std::cout << "Failed to start capture" << std::endl;
|
qInfo() << "Failed to start capture";
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -378,7 +377,7 @@ int MainWindow::startCapture()
|
||||||
for (Request *request : requests) {
|
for (Request *request : requests) {
|
||||||
ret = camera_->queueRequest(request);
|
ret = camera_->queueRequest(request);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
std::cerr << "Can't queue request" << std::endl;
|
qWarning() << "Can't queue request";
|
||||||
goto error_disconnect;
|
goto error_disconnect;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -421,7 +420,7 @@ void MainWindow::stopCapture()
|
||||||
|
|
||||||
int ret = camera_->stop();
|
int ret = camera_->stop();
|
||||||
if (ret)
|
if (ret)
|
||||||
std::cout << "Failed to stop capture" << std::endl;
|
qInfo() << "Failed to stop capture";
|
||||||
|
|
||||||
camera_->requestCompleted.disconnect(this, &MainWindow::requestComplete);
|
camera_->requestCompleted.disconnect(this, &MainWindow::requestComplete);
|
||||||
|
|
||||||
|
@ -518,11 +517,11 @@ void MainWindow::processCapture()
|
||||||
fps = lastBufferTime_ && fps ? 1000000000.0 / fps : 0.0;
|
fps = lastBufferTime_ && fps ? 1000000000.0 / fps : 0.0;
|
||||||
lastBufferTime_ = metadata.timestamp;
|
lastBufferTime_ = metadata.timestamp;
|
||||||
|
|
||||||
std::cout << "seq: " << std::setw(6) << std::setfill('0') << metadata.sequence
|
qInfo() << "seq:" << qSetFieldWidth(6) << qSetPadChar('0')
|
||||||
<< " bytesused: " << metadata.planes[0].bytesused
|
<< metadata.sequence << reset
|
||||||
<< " timestamp: " << metadata.timestamp
|
<< "bytesused:" << metadata.planes[0].bytesused
|
||||||
<< " fps: " << std::fixed << std::setprecision(2) << fps
|
<< "timestamp:" << metadata.timestamp
|
||||||
<< std::endl;
|
<< "fps:" << fixed << qSetRealNumberPrecision(2) << fps;
|
||||||
|
|
||||||
/* Display the buffer and requeue it to the camera. */
|
/* Display the buffer and requeue it to the camera. */
|
||||||
display(buffer);
|
display(buffer);
|
||||||
|
@ -547,7 +546,7 @@ void MainWindow::queueRequest(FrameBuffer *buffer)
|
||||||
{
|
{
|
||||||
Request *request = camera_->createRequest();
|
Request *request = camera_->createRequest();
|
||||||
if (!request) {
|
if (!request) {
|
||||||
std::cerr << "Can't create request" << std::endl;
|
qWarning() << "Can't create request";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue