Patch Detail
Show a patch.
GET /api/patches/612/?format=api
{ "id": 612, "url": "https://patchwork.libcamera.org/api/patches/612/?format=api", "web_url": "https://patchwork.libcamera.org/patch/612/", "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": "<20190224173701.8587-3-niklas.soderlund@ragnatech.se>", "date": "2019-02-24T17:36:59", "name": "[libcamera-devel,v2,2/4] libcamera: pipeline: uvcvideo: enforce stream configuration", "commit_ref": "facb80bc5cd0e4f6e4e71ba915c1befa6e3fd73a", "pull_url": null, "state": "accepted", "archived": false, "hash": "f68491fd4b93e9ecb31ab9f7b4205f816fc7d723", "submitter": { "id": 5, "url": "https://patchwork.libcamera.org/api/people/5/?format=api", "name": "Niklas Söderlund", "email": "niklas.soderlund@ragnatech.se" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/612/mbox/", "series": [ { "id": 190, "url": "https://patchwork.libcamera.org/api/series/190/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=190", "date": "2019-02-24T17:36:57", "name": "libcamera: enforce stream configuration", "version": 2, "mbox": "https://patchwork.libcamera.org/series/190/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/612/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/612/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 0F4C6610BB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 24 Feb 2019 18:37:12 +0100 (CET)", "from bismarck.berto.se (unknown [89.233.230.99])\n\tby bin-vsp-out-03.atm.binero.net (Halon) with ESMTPA\n\tid d0745186-385a-11e9-b5ae-0050569116f7;\n\tSun, 24 Feb 2019 18:37:10 +0100 (CET)" ], "X-Halon-ID": "d0745186-385a-11e9-b5ae-0050569116f7", "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": "Sun, 24 Feb 2019 18:36:59 +0100", "Message-Id": "<20190224173701.8587-3-niklas.soderlund@ragnatech.se>", "X-Mailer": "git-send-email 2.20.1", "In-Reply-To": "<20190224173701.8587-1-niklas.soderlund@ragnatech.se>", "References": "<20190224173701.8587-1-niklas.soderlund@ragnatech.se>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v2 2/4] libcamera: pipeline: uvcvideo:\n\tenforce stream configuration", "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": "Sun, 24 Feb 2019 17:37:13 -0000" }, "content": "The format requested by configureStreams() should exactly match what is\nprogrammed on the video device. If they do not match the call should\nfail as the application in that case will not know what configuration\nwas actually programmed.\n\nSigned-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n---\n src/libcamera/pipeline/uvcvideo.cpp | 12 +++++++++++-\n 1 file changed, 11 insertions(+), 1 deletion(-)", "diff": "diff --git a/src/libcamera/pipeline/uvcvideo.cpp b/src/libcamera/pipeline/uvcvideo.cpp\nindex 37a3477c2c56f3ea..b7b8ff109109e9c5 100644\n--- a/src/libcamera/pipeline/uvcvideo.cpp\n+++ b/src/libcamera/pipeline/uvcvideo.cpp\n@@ -84,6 +84,7 @@ int PipelineHandlerUVC::configureStreams(Camera *camera,\n \t\t\t\t\t std::map<Stream *, StreamConfiguration> &config)\n {\n \tStreamConfiguration *cfg = &config[&stream_];\n+\tint ret;\n \n \tLOG(UVC, Debug) << \"Configure the camera for resolution \"\n \t\t\t<< cfg->width << \"x\" << cfg->height;\n@@ -93,7 +94,16 @@ int PipelineHandlerUVC::configureStreams(Camera *camera,\n \tformat.height = cfg->height;\n \tformat.fourcc = cfg->pixelFormat;\n \n-\treturn video_->setFormat(&format);\n+\tret = video_->setFormat(&format);\n+\tif (ret)\n+\t\treturn ret;\n+\n+\tif (format.width != cfg->width ||\n+\t format.height != cfg->height ||\n+\t format.fourcc != cfg->pixelFormat)\n+\t\treturn -EINVAL;\n+\n+\treturn 0;\n }\n \n int PipelineHandlerUVC::allocateBuffers(Camera *camera, Stream *stream)\n", "prefixes": [ "libcamera-devel", "v2", "2/4" ] }