{"id":2787,"url":"https://patchwork.libcamera.org/api/1.1/patches/2787/?format=json","web_url":"https://patchwork.libcamera.org/patch/2787/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20200206150504.24204-2-kieran.bingham@ideasonboard.com>","date":"2020-02-06T15:04:59","name":"[libcamera-devel,1/6] qcam: Tie FrameBufferAllocator to stream life","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"76fc0d2e47e342680119cb9d2d62848a176230b2","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/1.1/people/4/?format=json","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/2787/mbox/","series":[{"id":663,"url":"https://patchwork.libcamera.org/api/1.1/series/663/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=663","date":"2020-02-06T15:04:58","name":"qcam: Provide an initial toolbar","version":1,"mbox":"https://patchwork.libcamera.org/series/663/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/2787/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/2787/checks/","tags":{},"headers":{"Return-Path":"<kieran.bingham@ideasonboard.com>","Received":["from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 47CBB600FB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  6 Feb 2020 16:05:10 +0100 (CET)","from localhost.localdomain\n\t(cpc89242-aztw30-2-0-cust488.18-1.cable.virginm.net [86.31.129.233])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C8978B7D;\n\tThu,  6 Feb 2020 16:05:09 +0100 (CET)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1581001509;\n\tbh=UJkVQsVGvnWAUNkG0qoptPT5FM8CRgTpkacB4zCmKHw=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=i6BJE5igwgb/Nt+nnItEBuQBRYSiVS23vfcZEZlY68rmcDUCa9Ut8QqF1y/3WRGNF\n\tvT8WiuZEB+lpzuakTRoXfzZXiY1ptx8RqMfGtqyNmGyDZrxndQ6kWAJZDBHRMMAsJi\n\tlUqPh1ehHqHRsbSC23r+BS47SQwNmpiNPswEdC44=","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"LibCamera Devel <libcamera-devel@lists.libcamera.org>","Date":"Thu,  6 Feb 2020 15:04:59 +0000","Message-Id":"<20200206150504.24204-2-kieran.bingham@ideasonboard.com>","X-Mailer":"git-send-email 2.20.1","In-Reply-To":"<20200206150504.24204-1-kieran.bingham@ideasonboard.com>","References":"<20200206150504.24204-1-kieran.bingham@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 1/6] qcam: Tie FrameBufferAllocator to\n\tstream life","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","X-List-Received-Date":"Thu, 06 Feb 2020 15:05:10 -0000"},"content":"The FrameBufferAllocator must be deleted and reconstructed before performing\nany reconfiguration of the stream.\n\nConstruct the allocator at startCapture, and destroy it during stopCapture so\nthat we can successfully stop and restart the stream.\n\nSigned-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/qcam/main_window.cpp | 5 +++--\n 1 file changed, 3 insertions(+), 2 deletions(-)","diff":"diff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp\nindex df51fa888342..38bc04a23b86 100644\n--- a/src/qcam/main_window.cpp\n+++ b/src/qcam/main_window.cpp\n@@ -37,7 +37,6 @@ MainWindow::MainWindow(CameraManager *cm, const OptionsParser::Options &options)\n \n \tret = openCamera(cm);\n \tif (!ret) {\n-\t\tallocator_ = FrameBufferAllocator::create(camera_);\n \t\tret = startCapture();\n \t}\n \n@@ -50,7 +49,6 @@ MainWindow::~MainWindow()\n {\n \tif (camera_) {\n \t\tstopCapture();\n-\t\tdelete allocator_;\n \t\tcamera_->release();\n \t\tcamera_.reset();\n \t}\n@@ -171,6 +169,7 @@ int MainWindow::startCapture()\n \n \tadjustSize();\n \n+\tallocator_ = FrameBufferAllocator::create(camera_);\n \tret = allocator_->allocate(stream);\n \tif (ret < 0) {\n \t\tstd::cerr << \"Failed to allocate capture buffers\" << std::endl;\n@@ -255,6 +254,8 @@ void MainWindow::stopCapture()\n \t}\n \tmappedBuffers_.clear();\n \n+\tdelete allocator_;\n+\n \tisCapturing_ = false;\n \n \tconfig_.reset();\n","prefixes":["libcamera-devel","1/6"]}