[libcamera-devel] [PATCH 14/21] qcam: viewfinder: Move multi-planar check into viewfinder
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Mar 23 15:21:58 CET 2020
The lack of support for multiplanar buffers comes from the viewfinder.
Move the corresponding check from MainWindow.
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
src/qcam/main_window.cpp | 7 +------
src/qcam/main_window.h | 2 +-
src/qcam/viewfinder.cpp | 6 ++++++
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp
index c0feb91a6fb1..ad0d6bf4f3e5 100644
--- a/src/qcam/main_window.cpp
+++ b/src/qcam/main_window.cpp
@@ -519,14 +519,9 @@ void MainWindow::processCapture()
queueRequest(buffer);
}
-int MainWindow::display(FrameBuffer *buffer)
+void MainWindow::display(FrameBuffer *buffer)
{
- if (buffer->planes().size() != 1)
- return -EINVAL;
-
viewfinder_->display(buffer, &mappedBuffers_[buffer]);
-
- return 0;
}
void MainWindow::queueRequest(FrameBuffer *buffer)
diff --git a/src/qcam/main_window.h b/src/qcam/main_window.h
index 0918ae5307d8..03db761b58e4 100644
--- a/src/qcam/main_window.h
+++ b/src/qcam/main_window.h
@@ -65,7 +65,7 @@ private:
void requestComplete(Request *request);
void processCapture();
- int display(FrameBuffer *buffer);
+ void display(FrameBuffer *buffer);
void queueRequest(FrameBuffer *buffer);
/* UI elements */
diff --git a/src/qcam/viewfinder.cpp b/src/qcam/viewfinder.cpp
index d00edc33dfb7..b8feabd5d189 100644
--- a/src/qcam/viewfinder.cpp
+++ b/src/qcam/viewfinder.cpp
@@ -11,6 +11,7 @@
#include <QImageWriter>
#include <QMutexLocker>
#include <QPainter>
+#include <QtDebug>
#include "format_converter.h"
@@ -27,6 +28,11 @@ ViewFinder::~ViewFinder()
void ViewFinder::display(const libcamera::FrameBuffer *buffer,
MappedBuffer *map)
{
+ if (buffer->planes().size() != 1) {
+ qWarning() << "Multi-planar buffers are not supported";
+ return;
+ }
+
QMutexLocker locker(&mutex_);
/*
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list