Show a cover letter.

GET /api/1.1/covers/18737/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 18737,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/18737/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/18737/",
    "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": "<20230615172608.378258-1-kieran.bingham@ideasonboard.com>",
    "date": "2023-06-15T17:26:03",
    "name": "[libcamera-devel,v4,0/5] libcamera: Add new Camera devices property",
    "submitter": {
        "id": 4,
        "url": "https://patchwork.libcamera.org/api/1.1/people/4/?format=api",
        "name": "Kieran Bingham",
        "email": "kieran.bingham@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/18737/mbox/",
    "series": [
        {
            "id": 3925,
            "url": "https://patchwork.libcamera.org/api/1.1/series/3925/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3925",
            "date": "2023-06-15T17:26:03",
            "name": "libcamera: Add new Camera devices property",
            "version": 4,
            "mbox": "https://patchwork.libcamera.org/series/3925/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/18737/comments/",
    "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 475FDC322E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 15 Jun 2023 17:26:17 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A5DD561E4F;\n\tThu, 15 Jun 2023 19:26:16 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A3F1A614FE\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 15 Jun 2023 19:26:15 +0200 (CEST)",
            "from Monstersaurus.local\n\t(aztw-30-b2-v4wan-166917-cust845.vm26.cable.virginm.net\n\t[82.37.23.78])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E740F547;\n\tThu, 15 Jun 2023 19:25:43 +0200 (CEST)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1686849976;\n\tbh=W0ouoJLicYFejQ+DRMO7q/J5Vjuo5vLYg2eULizdl0U=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=ecOXOAdXednq5nrMAHtx62tWbHVBl4Wl1kglP51fBM5whk1Jgy/347BKJgwjTB9Ug\n\tZgVujT1MTVSk/QZTpzxkReqmztbDD2y9zx6Wa6p+QSu4Sn5OzEFEFI4IVLTvWWYzVL\n\tGPTXdcL3syvD3OR0aZUOGH3c9H9qUm6t0MCxbSfT1yrHzrbsAtrkAbjF2MZbD37dOy\n\tToC40+LTHm4BKTlKXZ3czy9ClLJ2bHIbXEzSQeo5ZHsi6gCx1JLn64iwANNcuu+Nyu\n\tR5/pyTZdISzz8eUfhO87z9YEgwxrk5C4O7tsxTFsclJgWN2SL6boVcPxGw9kbNlOF3\n\trBhciLu3zOeGQ==",
            "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1686849944;\n\tbh=W0ouoJLicYFejQ+DRMO7q/J5Vjuo5vLYg2eULizdl0U=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=PB2KUF32/uypWu3UgWn5l4VeYNN0ngpgsA92yGWKJF0sY6wNYGvVyz1RkMvtTeGDU\n\t4jCpQHJSFlwBvYRJ1qNDVekncuWyKNB52Mf5E+g2CPu6aBTympY6z3aSIih2c8qaBf\n\tDgpeNYPp5I0+yZbjt1AAAExRkXvGDd58krTHCYWU="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"PB2KUF32\"; dkim-atps=neutral",
        "To": "libcamera devel <libcamera-devel@lists.libcamera.org>",
        "Date": "Thu, 15 Jun 2023 18:26:03 +0100",
        "Message-Id": "<20230615172608.378258-1-kieran.bingham@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v4 0/5] libcamera: Add new Camera devices\n\tproperty",
        "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>",
        "From": "Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Kieran Bingham <kieran.bingham@ideasonboard.com>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "It can be beneficial to allow reporting the devices used by a camera to\nfacilitate de-duplication of resources when handling cameras from a\ncentralised infrastructure such as PipeWire.\n\nExpose a new property on all cameras which reports a list of dev_t\nvalues representing devices used by the camera.\n\nPipelines supported by media-controller will automatically register an\nentry for any video node present in the media graphs registered with the\nPipeline Handler..\n\nAs part of supporting this, we move the addCamera and removeCamera\npublic API calls from the CameraManager class away into an internal\nimplementation of the CameraManager with the use of the Extensible\nclass.\n\nThis series also now converts include/libcamera/internal/request.h to\nuse #pragma once which was missed during the original conversions and\nnoticed as I referenced it when creating\ninclude/libcamera/internal/camera_manager.h.\n\n\nv4:\n - Fix includes\n - Fix sort order of header in meson.build\n - Fix doxygen file references\n - Report that different cameras may report identical devices\n - Rename to SystemDevices\n\nKieran Bingham (5):\n  libcamera: internal: request: convert to pragma once\n  libcamera: camera_manager: Move private implementation to internal\n  libcamera: camera_manager: Move {add,remove}Camera to internal\n  libcamera: properties: Provide a Devices camera property\n  libcamera: pipeline: Register device numbers with camera\n\n include/libcamera/camera_manager.h          |   4 -\n include/libcamera/internal/camera_manager.h |  69 +++++++++\n include/libcamera/internal/meson.build      |   1 +\n include/libcamera/internal/request.h        |   6 +-\n src/libcamera/camera_manager.cpp            | 154 +++++++-------------\n src/libcamera/pipeline_handler.cpp          |  16 +-\n src/libcamera/property_ids.yaml             |   9 ++\n 7 files changed, 147 insertions(+), 112 deletions(-)\n create mode 100644 include/libcamera/internal/camera_manager.h"
}