Show a cover letter.

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

{
    "id": 14914,
    "url": "https://patchwork.libcamera.org/api/covers/14914/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/14914/",
    "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": "<20211130233634.34173-1-jacopo@jmondi.org>",
    "date": "2021-11-30T23:36:23",
    "name": "[libcamera-devel,v3,00/11] libcamera: Add support for Fence",
    "submitter": {
        "id": 3,
        "url": "https://patchwork.libcamera.org/api/people/3/?format=api",
        "name": "Jacopo Mondi",
        "email": "jacopo@jmondi.org"
    },
    "mbox": "https://patchwork.libcamera.org/cover/14914/mbox/",
    "series": [
        {
            "id": 2788,
            "url": "https://patchwork.libcamera.org/api/series/2788/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2788",
            "date": "2021-11-30T23:36:23",
            "name": "libcamera: Add support for Fence",
            "version": 3,
            "mbox": "https://patchwork.libcamera.org/series/2788/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/14914/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 B2622BDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 30 Nov 2021 23:35:49 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C5E2460720;\n\tWed,  1 Dec 2021 00:35:48 +0100 (CET)",
            "from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net\n\t[217.70.183.201])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 79BFC60592\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  1 Dec 2021 00:35:47 +0100 (CET)",
            "(Authenticated sender: jacopo@jmondi.org)\n\tby relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 85AA41BF207;\n\tTue, 30 Nov 2021 23:35:46 +0000 (UTC)"
        ],
        "From": "Jacopo Mondi <jacopo@jmondi.org>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Wed,  1 Dec 2021 00:36:23 +0100",
        "Message-Id": "<20211130233634.34173-1-jacopo@jmondi.org>",
        "X-Mailer": "git-send-email 2.33.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v3 00/11] libcamera: Add support for Fence",
        "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>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Substantial changes from v2. the first of which is the rebase on top of\nLaurent's UniqueFD v4 which greatly simplifies the interface to set/reset a\nFence.\n\nSubstantial changes compared to v2\n\nSeries tested with CTS, openCamera and CCA\n\nI'm more happy than v2, most if not all of my concerns are solved, and the usage\nof UniqueFD really clarify the ownership model.\n\nLast concern is: all the handling of fences notification is done by\nRequest::prepare() and Fence is a really thin class whose sole purpose is to\ndefine an interface that will not change when new fence mechanism will be\nsupported. Won't having the code to do so in Request::prepare() instead than\nin the Fence itself kind of defeat that purpose ?\n\nThanks\n  j\n\nv2->v3\n- Documentation\n\n- Fence:\n  - use UniqueFD\n  - drop Extensible\n\n- Framebuffer:\n  - Add FrameBuffer::resetFence\n\n-Request:\n  - do not overload addBuffer but use optional argument\n  - Remove Private::Status\n  - simplify prepare() by using a map of buffers to notifiers\n  - Add the prepared_ flag\n\n- PipelineHandler:\n  - Simplify request preparation\n\n- Android\n  - Use UniqueFD\n\n\nv1->v2:\n\nMajor changes:\n- removed notifiers and timers from Fence. A Fence is now an wrapper that owns\n  a file descriptor\n- Add timers and notifiers to Request::Private and add the\n  Request::Private::prepare interface\n\nSmaller changes:\n- Expand Request::Private to move all internal fields\n- Remove Fence move semantic. A Fence lives in a Framebuffer.\n- A few minor patches on top\n\n\nJacopo Mondi (10):\n  libcamera: Print Timer identifier\n  libcamera: fence: Introduce Fence\n  libcamera: framebuffer: Add Fence to FrameBuffer\n  libcamera: request: Add Fence to Request::addBuffer()\n  test: fence: Add test for the Fence class\n  libcamera: pipeline_handler: Split request queueing\n  libcamera: pipeline: Introduce stopDevice()\n  libcamera: request: Add Request::Private::prepare()\n  libcamera: pipeline_handler: Prepare Request\n  android: Remove CameraWorker\n\nLaurent Pinchart (1):\n  libcamera: request: Make Request class Extensible\n\n include/libcamera/fence.h                     |  31 ++\n include/libcamera/framebuffer.h               |   4 +\n include/libcamera/internal/framebuffer.h      |   7 +\n include/libcamera/internal/meson.build        |   1 +\n include/libcamera/internal/pipeline_handler.h |   9 +-\n include/libcamera/internal/request.h          |  64 +++\n .../libcamera/internal/tracepoints/request.tp |  22 +-\n include/libcamera/meson.build                 |   1 +\n include/libcamera/request.h                   |  23 +-\n src/android/camera_device.cpp                 |  46 +--\n src/android/camera_device.h                   |   3 -\n src/android/camera_request.cpp                |   8 +-\n src/android/camera_request.h                  |   6 +-\n src/android/camera_stream.cpp                 |  10 +-\n src/android/camera_worker.cpp                 | 129 ------\n src/android/camera_worker.h                   |  70 ----\n src/android/meson.build                       |   1 -\n src/libcamera/base/event_dispatcher_poll.cpp  |   3 +-\n src/libcamera/base/timer.cpp                  |   4 +-\n src/libcamera/fence.cpp                       | 108 +++++\n src/libcamera/framebuffer.cpp                 |  66 +++\n src/libcamera/meson.build                     |   1 +\n src/libcamera/pipeline/ipu3/ipu3.cpp          |   4 +-\n .../pipeline/raspberrypi/raspberrypi.cpp      |   4 +-\n src/libcamera/pipeline/rkisp1/rkisp1.cpp      |   4 +-\n src/libcamera/pipeline/simple/simple.cpp      |   4 +-\n src/libcamera/pipeline/uvcvideo/uvcvideo.cpp  |   4 +-\n src/libcamera/pipeline/vimc/vimc.cpp          |   4 +-\n src/libcamera/pipeline_handler.cpp            | 107 ++++-\n src/libcamera/request.cpp                     | 387 ++++++++++++++----\n test/fence.cpp                                | 343 ++++++++++++++++\n test/meson.build                              |   1 +\n 32 files changed, 1110 insertions(+), 369 deletions(-)\n create mode 100644 include/libcamera/fence.h\n create mode 100644 include/libcamera/internal/request.h\n delete mode 100644 src/android/camera_worker.cpp\n delete mode 100644 src/android/camera_worker.h\n create mode 100644 src/libcamera/fence.cpp\n create mode 100644 test/fence.cpp\n\n--\n2.33.1"
}