From patchwork Fri Feb 14 00:18:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kieran Bingham X-Patchwork-Id: 2828 Return-Path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id BB24461A27 for ; Fri, 14 Feb 2020 01:18:14 +0100 (CET) Received: from localhost.localdomain (cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 59A00504; Fri, 14 Feb 2020 01:18:14 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1581639494; bh=PJBD0BJO2bAlaBlEtXIWFNa5qk3+v/4RVxho7ZVDOV4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Raazh/rJeIEazSpBQkyhBy0poJzEuTkvF8N1EoVCa6ks3iVKwoqvwyKoeaDd7lq5a bl6ASEq48TTDChVEBskkrboFyewh7U36ULG2pnA/tGJhTysL84yved2D6Nc4bmRvvl UWymSXT8rq5exyQ6FLd56JkLpwxQoA9aBA8208Ms= From: Kieran Bingham To: libcamera devel Date: Fri, 14 Feb 2020 00:18:06 +0000 Message-Id: <20200214001810.19302-4-kieran.bingham@ideasonboard.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200214001810.19302-1-kieran.bingham@ideasonboard.com> References: <20200214001810.19302-1-kieran.bingham@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2 3/7] qcam: Store CameraManager as class member X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Feb 2020 00:18:14 -0000 Intialise a local copy of the CameraManager instance to ease access to the CameraManager which is frequently utilised. Signed-off-by: Kieran Bingham Reviewed-by: Laurent Pinchart --- src/qcam/main_window.cpp | 18 +++++++++--------- src/qcam/main_window.h | 5 +++-- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp index 38d7063363f0..2ed84cacf655 100644 --- a/src/qcam/main_window.cpp +++ b/src/qcam/main_window.cpp @@ -23,7 +23,7 @@ using namespace libcamera; MainWindow::MainWindow(CameraManager *cm, const OptionsParser::Options &options) - : options_(options), allocator_(nullptr), isCapturing_(false) + : options_(options), cm_(cm), allocator_(nullptr), isCapturing_(false) { int ret; @@ -35,7 +35,7 @@ MainWindow::MainWindow(CameraManager *cm, const OptionsParser::Options &options) setCentralWidget(viewfinder_); adjustSize(); - ret = openCamera(cm); + ret = openCamera(); if (!ret) ret = startCapture(); @@ -66,15 +66,15 @@ void MainWindow::updateTitle() setWindowTitle(title_ + " : " + QString::number(fps, 'f', 2) + " fps"); } -std::string MainWindow::chooseCamera(CameraManager *cm) +std::string MainWindow::chooseCamera() { QStringList cameras; bool result; - if (cm->cameras().size() == 1) - return cm->cameras()[0]->name(); + if (cm_->cameras().size() == 1) + return cm_->cameras()[0]->name(); - for (const std::shared_ptr &cam : cm->cameras()) + for (const std::shared_ptr &cam : cm_->cameras()) cameras.append(QString::fromStdString(cam->name())); QString name = QInputDialog::getItem(this, "Select Camera", @@ -86,19 +86,19 @@ std::string MainWindow::chooseCamera(CameraManager *cm) return name.toStdString(); } -int MainWindow::openCamera(CameraManager *cm) +int MainWindow::openCamera() { std::string cameraName; if (options_.isSet(OptCamera)) cameraName = static_cast(options_[OptCamera]); else - cameraName = chooseCamera(cm); + cameraName = chooseCamera(); if (cameraName == "") return -EINVAL; - camera_ = cm->get(cameraName); + camera_ = cm_->get(cameraName); if (!camera_) { std::cout << "Camera " << cameraName << " not found" << std::endl; diff --git a/src/qcam/main_window.h b/src/qcam/main_window.h index 04fb9e3ea869..d19cda16e36b 100644 --- a/src/qcam/main_window.h +++ b/src/qcam/main_window.h @@ -44,8 +44,8 @@ private Q_SLOTS: void updateTitle(); private: - std::string chooseCamera(CameraManager *cm); - int openCamera(CameraManager *cm); + std::string chooseCamera(); + int openCamera(); int startCapture(); void stopCapture(); @@ -58,6 +58,7 @@ private: const OptionsParser::Options &options_; + CameraManager *cm_; std::shared_ptr camera_; FrameBufferAllocator *allocator_;