Patch Detail
Show a patch.
GET /api/1.1/patches/2253/?format=api
{ "id": 2253, "url": "https://patchwork.libcamera.org/api/1.1/patches/2253/?format=api", "web_url": "https://patchwork.libcamera.org/patch/2253/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20191028022224.795355-5-niklas.soderlund@ragnatech.se>", "date": "2019-10-28T02:22:18", "name": "[libcamera-devel,04/10] libcamera: camera: Remove explicit stream to buffer map in requestCompleted signal", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "f85ce967a0d8089ee5fe35d37fd1604722c3b460", "submitter": { "id": 5, "url": "https://patchwork.libcamera.org/api/1.1/people/5/?format=api", "name": "Niklas Söderlund", "email": "niklas.soderlund@ragnatech.se" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/2253/mbox/", "series": [ { "id": 560, "url": "https://patchwork.libcamera.org/api/1.1/series/560/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=560", "date": "2019-10-28T02:22:14", "name": "libcamera: Fixes found while working on new buffer API", "version": 1, "mbox": "https://patchwork.libcamera.org/series/560/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/2253/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/2253/checks/", "tags": {}, "headers": { "Return-Path": "<niklas.soderlund@ragnatech.se>", "Received": [ "from bin-mail-out-05.binero.net (bin-mail-out-05.binero.net\n\t[195.74.38.228])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 862FE61506\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 28 Oct 2019 03:22:46 +0100 (CET)", "from localhost.localdomain (unknown [93.2.121.143])\n\tby bin-vsp-out-02.atm.binero.net (Halon) with ESMTPA\n\tid d241955c-f929-11e9-903a-005056917f90;\n\tMon, 28 Oct 2019 03:22:43 +0100 (CET)" ], "X-Halon-ID": "d241955c-f929-11e9-903a-005056917f90", "Authorized-sender": "niklas@soderlund.pp.se", "From": "=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Mon, 28 Oct 2019 03:22:18 +0100", "Message-Id": "<20191028022224.795355-5-niklas.soderlund@ragnatech.se>", "X-Mailer": "git-send-email 2.23.0", "In-Reply-To": "<20191028022224.795355-1-niklas.soderlund@ragnatech.se>", "References": "<20191028022224.795355-1-niklas.soderlund@ragnatech.se>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH 04/10] libcamera: camera: Remove explicit\n\tstream to buffer map in requestCompleted signal", "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": "Mon, 28 Oct 2019 02:22:47 -0000" }, "content": "The stream to buffer map in the requestCompleted signal is taken\ndirectly from the request which is part of the same signal. Remove the\nmap as it can be fetched directly from the request.\n\nSigned-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n---\n include/libcamera/camera.h | 2 +-\n src/cam/capture.cpp | 4 +++-\n src/cam/capture.h | 3 +--\n src/libcamera/camera.cpp | 2 +-\n src/qcam/main_window.cpp | 5 +++--\n src/qcam/main_window.h | 3 +--\n test/camera/capture.cpp | 4 +++-\n 7 files changed, 13 insertions(+), 10 deletions(-)", "diff": "diff --git a/include/libcamera/camera.h b/include/libcamera/camera.h\nindex 21fac550f4121fdc..268d2d37ccac8b71 100644\n--- a/include/libcamera/camera.h\n+++ b/include/libcamera/camera.h\n@@ -79,7 +79,7 @@ public:\n \tconst std::string &name() const;\n \n \tSignal<Request *, Buffer *> bufferCompleted;\n-\tSignal<Request *, const std::map<Stream *, Buffer *> &> requestCompleted;\n+\tSignal<Request *> requestCompleted;\n \tSignal<Camera *> disconnected;\n \n \tint acquire();\ndiff --git a/src/cam/capture.cpp b/src/cam/capture.cpp\nindex 0d7854d674e0a78d..27332df1d55a5c2d 100644\n--- a/src/cam/capture.cpp\n+++ b/src/cam/capture.cpp\n@@ -133,11 +133,13 @@ int Capture::capture(EventLoop *loop)\n \treturn ret;\n }\n \n-void Capture::requestComplete(Request *request, const std::map<Stream *, Buffer *> &buffers)\n+void Capture::requestComplete(Request *request)\n {\n \tif (request->status() == Request::RequestCancelled)\n \t\treturn;\n \n+\tconst std::map<Stream *, Buffer *> &buffers = request->buffers();\n+\n \tstd::chrono::steady_clock::time_point now = std::chrono::steady_clock::now();\n \tdouble fps = std::chrono::duration_cast<std::chrono::milliseconds>(now - last_).count();\n \tfps = last_ != std::chrono::steady_clock::time_point() && fps\ndiff --git a/src/cam/capture.h b/src/cam/capture.h\nindex ee0dc421111197c1..4d396afb8c771a74 100644\n--- a/src/cam/capture.h\n+++ b/src/cam/capture.h\n@@ -28,8 +28,7 @@ public:\n private:\n \tint capture(EventLoop *loop);\n \n-\tvoid requestComplete(libcamera::Request *request,\n-\t\t\t const std::map<libcamera::Stream *, libcamera::Buffer *> &buffers);\n+\tvoid requestComplete(libcamera::Request *request);\n \n \tlibcamera::Camera *camera_;\n \tlibcamera::CameraConfiguration *config_;\ndiff --git a/src/libcamera/camera.cpp b/src/libcamera/camera.cpp\nindex 76c737cb93813115..e810fb725d81350d 100644\n--- a/src/libcamera/camera.cpp\n+++ b/src/libcamera/camera.cpp\n@@ -919,7 +919,7 @@ void Camera::requestComplete(Request *request)\n \t\t\tstream->unmapBuffer(buffer);\n \t}\n \n-\trequestCompleted.emit(request, request->buffers());\n+\trequestCompleted.emit(request);\n \tdelete request;\n }\n \ndiff --git a/src/qcam/main_window.cpp b/src/qcam/main_window.cpp\nindex 3d56309227235fec..cca7365ae75687f9 100644\n--- a/src/qcam/main_window.cpp\n+++ b/src/qcam/main_window.cpp\n@@ -248,12 +248,13 @@ void MainWindow::stopCapture()\n \tsetWindowTitle(title_);\n }\n \n-void MainWindow::requestComplete(Request *request,\n-\t\t\t\t const std::map<Stream *, Buffer *> &buffers)\n+void MainWindow::requestComplete(Request *request)\n {\n \tif (request->status() == Request::RequestCancelled)\n \t\treturn;\n \n+\tconst std::map<Stream *, Buffer *> &buffers = request->buffers();\n+\n \tframesCaptured_++;\n \n \tBuffer *buffer = buffers.begin()->second;\ndiff --git a/src/qcam/main_window.h b/src/qcam/main_window.h\nindex 30dd8743104d75e0..78511581a8d5c025 100644\n--- a/src/qcam/main_window.h\n+++ b/src/qcam/main_window.h\n@@ -49,8 +49,7 @@ private:\n \tint startCapture();\n \tvoid stopCapture();\n \n-\tvoid requestComplete(Request *request,\n-\t\t\t const std::map<Stream *, Buffer *> &buffers);\n+\tvoid requestComplete(Request *request);\n \tint display(Buffer *buffer);\n \n \tQString title_;\ndiff --git a/test/camera/capture.cpp b/test/camera/capture.cpp\nindex 791ccad15f7042f9..83f974749affd3cd 100644\n--- a/test/camera/capture.cpp\n+++ b/test/camera/capture.cpp\n@@ -27,11 +27,13 @@ protected:\n \t\tcompleteBuffersCount_++;\n \t}\n \n-\tvoid requestComplete(Request *request, const std::map<Stream *, Buffer *> &buffers)\n+\tvoid requestComplete(Request *request)\n \t{\n \t\tif (request->status() != Request::RequestComplete)\n \t\t\treturn;\n \n+\t\tconst std::map<Stream *, Buffer *> &buffers = request->buffers();\n+\n \t\tcompleteRequestsCount_++;\n \n \t\t/* Create a new request. */\n", "prefixes": [ "libcamera-devel", "04/10" ] }