Show a patch.

GET /api/patches/663/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 663,
    "url": "https://patchwork.libcamera.org/api/patches/663/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/663/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/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": "<20190228162913.6508-11-laurent.pinchart@ideasonboard.com>",
    "date": "2019-02-28T16:29:13",
    "name": "[libcamera-devel,10/10] cam: Don't requeue requests when stopping stream",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "c575e58bc276a68375f740ed4c3d59d6f7ae9b16",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/663/mbox/",
    "series": [
        {
            "id": 196,
            "url": "https://patchwork.libcamera.org/api/series/196/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=196",
            "date": "2019-02-28T16:29:03",
            "name": "Rework request completion handling",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/196/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/663/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/663/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<laurent.pinchart@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 8FF1E610F5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 28 Feb 2019 17:29:28 +0100 (CET)",
            "from pendragon.bb.dnainternet.fi (81-175-216-236.bb.dnainternet.fi\n\t[81.175.216.236])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 2A61E67\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 28 Feb 2019 17:29:28 +0100 (CET)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1551371368;\n\tbh=2544lptDAQRB451qgD7SxR37VsqdziLTuQ1XKbpMrmU=;\n\th=From:To:Subject:Date:In-Reply-To:References:From;\n\tb=hxhMiVr2J2J5/L60pEN2nSPmFWRemmem1GIc8FFeVN6LlfSl15h4pcLDgSBozi7TY\n\tJP76WkYcYZO8kb9hfv6f/LEBS8M92RKx15LqNa9eGXMNj9TI676P4QlvGKHIqmc4jC\n\tXvh7Qv7nHg9BFHZIP0++5npXrf14310Y/8VuL0Dc=",
        "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Thu, 28 Feb 2019 18:29:13 +0200",
        "Message-Id": "<20190228162913.6508-11-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.19.2",
        "In-Reply-To": "<20190228162913.6508-1-laurent.pinchart@ideasonboard.com>",
        "References": "<20190228162913.6508-1-laurent.pinchart@ideasonboard.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 10/10] cam: Don't requeue requests when\n\tstopping stream",
        "X-BeenThere": "libcamera-devel@lists.libcamera.org",
        "X-Mailman-Version": "2.1.23",
        "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, 28 Feb 2019 16:29:29 -0000"
    },
    "content": "When stopping the stream all pending requests are cancelled, resulting\nin the request completion signal being emitted with the request status\nset appropriately. Check the request status in the request completion\nslot and skip requeuing the request if it has been cancelled.\n\nSigned-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/cam/main.cpp | 3 +++\n 1 file changed, 3 insertions(+)",
    "diff": "diff --git a/src/cam/main.cpp b/src/cam/main.cpp\nindex 4c2df583fe8e..c8e673e30c0b 100644\n--- a/src/cam/main.cpp\n+++ b/src/cam/main.cpp\n@@ -102,6 +102,9 @@ static void requestComplete(Request *request, const std::map<Stream *, Buffer *>\n {\n \tstatic uint64_t last = 0;\n \n+\tif (request->status() == Request::RequestCancelled)\n+\t\treturn;\n+\n \tBuffer *buffer = buffers.begin()->second;\n \n \tdouble fps = buffer->timestamp() - last;\n",
    "prefixes": [
        "libcamera-devel",
        "10/10"
    ]
}