Show a patch.

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

{
    "id": 19624,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/19624/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/19624/",
    "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": "<20240304093539.546973-1-anle.pan@nxp.com>",
    "date": "2024-03-04T09:35:39",
    "name": "android: camera_device: Fix camera blocked issue when stopping capture",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "eaa906bc9bdb0edc9e2e62c8b4d8d76ba44950e3",
    "submitter": {
        "id": 189,
        "url": "https://patchwork.libcamera.org/api/1.1/people/189/?format=api",
        "name": "Anle Pan",
        "email": "anle.pan@nxp.com"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/19624/mbox/",
    "series": [
        {
            "id": 4198,
            "url": "https://patchwork.libcamera.org/api/1.1/series/4198/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4198",
            "date": "2024-03-04T09:35:39",
            "name": "android: camera_device: Fix camera blocked issue when stopping capture",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/4198/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/19624/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/19624/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<libcamera-devel-bounces@lists.libcamera.org>",
        "X-Original-To": "parsemail@patchwork.libcamera.org",
        "Delivered-To": "parsemail@patchwork.libcamera.org",
        "Received": [
            "from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 12838BD160\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  4 Mar 2024 10:00:27 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 208686286F;\n\tMon,  4 Mar 2024 11:00:26 +0100 (CET)",
            "from EUR04-DB3-obe.outbound.protection.outlook.com\n\t(mail-db3eur04on0626.outbound.protection.outlook.com\n\t[IPv6:2a01:111:f400:fe0c::626])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3D8766286D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  4 Mar 2024 10:35:51 +0100 (CET)",
            "from DU2PR04MB8967.eurprd04.prod.outlook.com (2603:10a6:10:2e2::19)\n\tby DB9PR04MB8494.eurprd04.prod.outlook.com (2603:10a6:10:2c6::12)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.38;\n\tMon, 4 Mar 2024 09:35:49 +0000",
            "from DU2PR04MB8967.eurprd04.prod.outlook.com\n\t([fe80::863b:1be2:4278:3470]) by\n\tDU2PR04MB8967.eurprd04.prod.outlook.com\n\t([fe80::863b:1be2:4278:3470%4]) with mapi id 15.20.7339.035;\n\tMon, 4 Mar 2024 09:35:49 +0000"
        ],
        "Authentication-Results": [
            "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=nxp.com header.i=@nxp.com header.b=\"Td/e7+ZB\";\n\tdkim-atps=neutral",
            "dkim=none (message not signed)\n\theader.d=none;dmarc=none action=none header.from=nxp.com;"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n\tb=iyGFN6ttPB7ixAjgHfbWuSdauNt0ePLTPIPHTMAUmiCBWcMTzXk4oTsVbBMhM15XPninrm77CxIFUrqkdc8LZ/7bJ9MCRtBOlTU4WurnLRJ7ODZ+ZO/PkUHna7zG3VRTRifXh7Koej+UxR/URivOTRwK3S19YhwA1QQXwoCgqiQGj8VKgxM8p1Ha1U7H/qTL60rZldDa4sIZOLR6sav+NiaT4LrJ6n0G8YB1S7xfaVz2WvawMeQOWigIqJavynLewxlhshFtuWat3hhtrvN/3XqPtm0XAwh2k7d047CY8p5+HUDBCipfzETwC8bp+tMmjFUoUFtljdT9ZTCPqLK/uA==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n\ts=arcselector9901;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n\tbh=OaRMnohJIb7BsL467IdV4r5zOF6lURkBROkLlS/RwsE=;\n\tb=BCOL3vSItrLOO70PCWNpY86Nd2bIY2sHi0UCp2Mf8r7OsjAlX20VwadF+Kqe6nR/JXy2dU5DpqBTmohNLN5CJ73VZt2VXJTY9mKyolhXwan2tc4Jii5/7AlVwjeJ1B7nDBGYN/soZvtrUa1yHRbiSL0LhtWEkgH8i+GUKV/kQQm11ane/MG9QCOr6PZGbmTmSjFr6Dx8tKxTF0a1+5r6zV/ZWukpQudE0UB3TN32ExfUFKyAVnX11236W8OMcW3CM/4/fxSPXANIp4GzvVHFDEgAal1dN5s8tmQkbSDrQfFAR/1n88PxyrrfTPFMJjMgk1BjJuDoW9gLGmLozzmHdQ==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n\tsmtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com;\n\tdkim=pass header.d=nxp.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=OaRMnohJIb7BsL467IdV4r5zOF6lURkBROkLlS/RwsE=;\n\tb=Td/e7+ZBBo8Wmg2MQ4OrfhAvNMA752j8HcS53MOF9sbkp+yFazRSW56Sm1Mp76TQ1fXVvkbtSabrn6xl91MsSw8e9yNYt4kJ6L8Kj8Y48weYHrpnYSb1upSkeud+fMy0xnCGdGvCGYxFvOV75eKaIXxycmyqpeSrqWMUEKenzz4=",
        "From": "Anle Pan <anle.pan@nxp.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Subject": "[PATCH] android: camera_device: Fix camera blocked issue when\n\tstopping capture",
        "Date": "Mon,  4 Mar 2024 10:35:39 +0100",
        "Message-Id": "<20240304093539.546973-1-anle.pan@nxp.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-ClientProxiedBy": "AM0PR02CA0148.eurprd02.prod.outlook.com\n\t(2603:10a6:20b:28d::15) To DU2PR04MB8967.eurprd04.prod.outlook.com\n\t(2603:10a6:10:2e2::19)",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "DU2PR04MB8967:EE_|DB9PR04MB8494:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "a748fb5b-63ad-4a8d-64f7-08dc3c2e7a34",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "TzY5wXqNLzcVt8tX/Pm9fiI+4GGndZIkOcV+xGKGXBkeUxJpeqLQHU0byhg+xMvxpqNYrEDc0E6H/IO7+paLd1vyHkP0nDMG8Xgj1dBqjq6htLYxGMyWDFAEXDglY8EsY5HkA6s/Cnc/HfOgoeNr8QthlBJdo+FcBVxXH2JtqhMlKK03EvMMD6upNGnD6zeGHPD5CkdrR+A4QdkPEwRjUlxxAQqZ+6q+CKU8VFhYozcWzQf1bQgPucuQAkZoPwFJIHm0ZWUtS33RlY8BuOBgGdzyirTot5MX/2bj5p+no4hoh8PYWaJI6MlEcfbi0Smw3CJE0ZJzaiM/o0twSfHiVeQk8Ml2qtyirhvJ5bHoMtl10TCwI6F3iq4LZXAefIvR2rep14vs0RP/A+Z4PRoKGyk5W5rLu4xo2HUgu99VTzxDRY7Mzx2X8Khf5ge6ZIziZA9cQIqGN+PSdLS2oQgcexzQkTfilZqjCdryK6PXbEAXX8sapW+8b7W34tTp3UDF1ZjOsbF3kcCyoWiGANJYhUeyK9ddtntqWfRVKN39DzQGS6gOHw0q3esvbauN3DPg9XTQDsM4rDPwUgS0mYibuX8pI3oe+3aOaNUSTNsRqSuCg2skc56zrAcYc2sTxatlDiC26n4/zhU9P1cwSpcaJgmP2SwYfRag0wJLkoDEXqfs4rnwlN4OSiRml4zmUdtBOqy3/lD6rebsOvjLCWNaVQ==",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n\tIPV:NLI; SFV:NSPM; H:DU2PR04MB8967.eurprd04.prod.outlook.com; PTR:;\n\tCAT:NONE; \n\tSFS:(13230031)(376005)(38350700005); DIR:OUT; SFP:1101; ",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "=?utf-8?q?w+wIzhi4KFEVBaYPRdQ7ZaOyr?=\n\t=?utf-8?q?Vbm3xnham9xPNHaCvlrCahnZ7cu1BKDsnJDh412w9Nrcfda5Hk1Q7jSJ?=\n\t=?utf-8?q?dcND5mfcwvqg82FEeEc++GnRn4AQjhWQ8BGrgjIbRZ7YrCkO84wPFxqX?=\n\t=?utf-8?q?R/Xi6W4IapKLFYCOwGBRxEQyIkLk6BbcJkTd56tuC0rHGptCsbJ2FEmx?=\n\t=?utf-8?q?FktxpAiZtBOBtAkotzVHIFxgg9Z1AzxPKjwxpXr4+jvBlZQBoVClH29r?=\n\t=?utf-8?q?0L6qwGiTNrk57A16WmBms3NjSNO020ZguzBlTCKycXao2xuHmeyMLKHA?=\n\t=?utf-8?q?Q49OjnBZdQ3iPq67XXgoRplHRCxPPN4WykPHfdIbqL9pT3m+U4xehHrr?=\n\t=?utf-8?q?1JcBLo6xSLUO9zxp9wrVyc6T+eJ4Nu6TUd3T+wRY9dLzZGlnGUUH0Unt?=\n\t=?utf-8?q?m6XXEkQkQZFOTxNBqLmDoJUNY3eVgb05flC7YIYpRbvV1LtDxXrbBNA3?=\n\t=?utf-8?q?6IbVXpIlQpzmTwdw+FDBO/VtklQk1nBQaAmFW8O0axfqwTGowMELmWtZ?=\n\t=?utf-8?q?w9mglE5qTmTR1dlbMXa2yNc5RFgNcq7vePlWcmJO9lr/UvaVm45x7h0U?=\n\t=?utf-8?q?kkRDh72/sLhfi7RP1SiAGa/N5jebmjcxcidtal/nxXQ8ifqCwvusltwO?=\n\t=?utf-8?q?rceufPqX/jgzwD0w7PYaHzo+yo9jr5zwTkhLXmb6D3GFQXGg4pQ+ButM?=\n\t=?utf-8?q?UqpJOc0U48MvjzUzc/YquG6kGwdVq/W9HXa6YVoo0aFKG6wRPzSoYBmY?=\n\t=?utf-8?q?q3mgD185w3t8+2/i9FlOrV6qxJATb1wgouJNeM68IuXfjcpwxBfZ/u39?=\n\t=?utf-8?q?GXtCepzwspu2olPCA6J/KlxVeh4UOpOfO4Y/KLq15O6Ct3uF7mX+J0nY?=\n\t=?utf-8?q?X8KsdySz7kbvxrQY12im3eZEmelVFtS6E3cRHnYeB5NKGDatkvhZkD5V?=\n\t=?utf-8?q?l6mETtAUaOP+jfrd5iTQQImgj99s9fhImRuN3GhU3ylWpko+1NgRdkYL?=\n\t=?utf-8?q?IMS6QHzCwlMMPlhQnmhrgP/BuwGdbWWrYrMB8NUwn1aZb1sq9wIulvId?=\n\t=?utf-8?q?hWlW/qu9NfIZBZKCAlIWZ6p2KTWybptvsduhlc69UwD7d+N8OhlUDlga?=\n\t=?utf-8?q?GSGdv1ME1rH5pNKL7s3MrFy3fE6lbBoMUMyWTzqZJi4mOnP6422xxFjH?=\n\t=?utf-8?q?EtX6uQ5LjmlGiSP9CapWpMG1Qv0Qb/ukqBnz5ZB4Yur5YkpyszPVGJBI?=\n\t=?utf-8?q?6fWrkXaPkLdze3lgBDjpgroG5vSt5vdr6EC0GENXP7WVIf5JBys402D1?=\n\t=?utf-8?q?qo99asIOzSOtOYWHBdyDJocuwV7YkkQcxKbKf6T7SQ8Ed9FMp4LQJV+X?=\n\t=?utf-8?q?UFBZCBOYJ22mI7nO5SgrkSDWBpQI5nwVyzWb4EoT4BOoNiK77HJ+6D24?=\n\t=?utf-8?q?HXZ7YXPfJtiksTiQvtcBLRPbQUY1Jb+t0zHRRMkBrDZcHYlePohsWN4C?=\n\t=?utf-8?q?7LOTlpEcqT2I0WSwK6/hEIsL9jRnQBi3JmdGi/CDSvxJYanWcBkkil59?=\n\t=?utf-8?q?VvJ0yDBYIGD2FLOgaF+1O9KPVl0MAvTX/51Q2Bz+F0p7nb356nYfIH65?=\n\t=?utf-8?q?NsFY2JkuoQpqX4y5whS3ugNVxr0Dec+HLLSTSW4YxJQTwRERF0LXFcNY?=\n\t=?utf-8?q?0m9eFYk?=",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "a748fb5b-63ad-4a8d-64f7-08dc3c2e7a34",
        "X-MS-Exchange-CrossTenant-AuthSource": "DU2PR04MB8967.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "04 Mar 2024 09:35:49.8312\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "AX2E63XP7cjtbLI6nDhVpGKgvl5mmGrDOgzYJ5GNQ4+DSKGHnQis1GxwSUEcDe/8R6RUnV7dVxSw+DsaPimxJQ==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB9PR04MB8494",
        "X-Mailman-Approved-At": "Mon, 04 Mar 2024 11:00:24 +0100",
        "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>",
        "Cc": "hui.fang@nxp.com",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "The issue occurs when stopping capture soon after starting capture.\n\nIn this case, no frame get from the device, the\nrelated capture request has been pushed to the\nqueue descriptors_, but the queuedRequests_ was\nstill empty due to no requests will be queue to\nthe device since the stream will be stopped soon,\nso there will be no camera->requestComplete called\nlater, then the descriptors_ can not pop normally,\nthis will cause the pending if we want to start capture next time.\n\nTo fix the issue, ensure the descriptors_ is\nempty after the camera device is stopped.\n\nSigned-off-by: Anle Pan <anle.pan@nxp.com>\n---\n src/android/camera_device.cpp | 5 ++++-\n 1 file changed, 4 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\nindex 25cedd44..d452992d 100644\n--- a/src/android/camera_device.cpp\n+++ b/src/android/camera_device.cpp\n@@ -433,8 +433,11 @@ void CameraDevice::flush()\n void CameraDevice::stop()\n {\n \tMutexLocker stateLock(stateMutex_);\n-\tif (state_ == State::Stopped)\n+\tif (state_ == State::Stopped) {\n+\t\tMutexLocker descriptorsLock(descriptorsMutex_);\n+\t\tdescriptors_ = {};\n \t\treturn;\n+\t}\n \n \tcamera_->stop();\n \n",
    "prefixes": []
}