Show a cover letter.

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

{
    "id": 924,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/924/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/924/",
    "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": "<20190405235842.27884-1-niklas.soderlund@ragnatech.se>",
    "date": "2019-04-05T23:58:34",
    "name": "[libcamera-devel,v3,0/8] libcamera: stream: Add basic stream usages",
    "submitter": {
        "id": 5,
        "url": "https://patchwork.libcamera.org/api/1.1/people/5/?format=api",
        "name": "Niklas Söderlund",
        "email": "niklas.soderlund@ragnatech.se"
    },
    "mbox": "https://patchwork.libcamera.org/cover/924/mbox/",
    "series": [
        {
            "id": 242,
            "url": "https://patchwork.libcamera.org/api/1.1/series/242/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=242",
            "date": "2019-04-05T23:58:34",
            "name": "libcamera: stream: Add basic stream usages",
            "version": 3,
            "mbox": "https://patchwork.libcamera.org/series/242/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/924/comments/",
    "headers": {
        "Return-Path": "<niklas.soderlund@ragnatech.se>",
        "Received": [
            "from vsp-unauthed02.binero.net (vsp-unauthed02.binero.net\n\t[195.74.38.227])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 15230610B3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat,  6 Apr 2019 01:59:16 +0200 (CEST)",
            "from bismarck.berto.se (unknown [89.233.230.99])\n\tby bin-vsp-out-03.atm.binero.net (Halon) with ESMTPA\n\tid c0a78f46-57fe-11e9-8144-0050569116f7;\n\tSat, 06 Apr 2019 01:59:12 +0200 (CEST)"
        ],
        "X-Halon-ID": "c0a78f46-57fe-11e9-8144-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": "Sat,  6 Apr 2019 01:58:34 +0200",
        "Message-Id": "<20190405235842.27884-1-niklas.soderlund@ragnatech.se>",
        "X-Mailer": "git-send-email 2.21.0",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v3 0/8] libcamera: stream: Add basic\n\tstream usages",
        "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": "Fri, 05 Apr 2019 23:59:16 -0000"
    },
    "content": "Hi,\n\nThis series changes how the default configuration is retrieved from a\ncamera. It replaces the current method where applications have to\nenumerate a cameras streams and pick a set of them to ask for a default\nconfiguration and then try to tune them to its use-case.\n\nInstead the application asks libcamera for a set of stream usages to fit\nits use-case and receives in returns a set of streams with a default\nconfiguration (which it then can try and fine tune).\n\nThe goal of this series is to define the API towards the application and\nnot to implement smart choices in the pipeline handlers to actually\nselect streams. The main reason for this limitation in scope are that\nall upstream pipeline handlers only support one stream so the new API is\nnot really useful for pipeline handlers yet.\n\nThe code is tested with a modified cam tool (patches posted in a\ndifferent series) together with out of tree IPU3 patches to extend it to\nexpose more then one stream per camera. So the API is proven to work\nwith multiple streams and can support capturing multiple streams in the\nsame request.\n\n* Changes since v1\n- Renamed StreamRole to StreamUsage\n- Made geometry.h public header and use Size.\n- Added CameraConfiguration object to handle mapping of stream usages to\n  stream configurations.\n- Added more documentation, thanks all patient reviewers!\n\n- Changes since v2\n- Extend CameraConfiguratio with .valid(), ability use operator[](Stream \n  *) in a const context and add operator[](unsinged int) to fetch stream \n  pointers based on insertion index.\n- Fixed up a lot of documentation.\n- Added geometry.h to meason.build.\n- Camera::configureStreams() and PipelineHandler::configureStreams() \n  take a const CameraConfiguration.\n- Dropped #include <libcamera/stream.h> from camera.h.\n\nNiklas Söderlund (8):\n  cam: Rework how streams configuration is prepared\n  test: camera: Remove streams argument from configurationValid()\n  test: camera: Remove test for bad Stream IDs\n  libcamera: Make geometry.h a public header\n  libcamera: stream: Add basic stream usages\n  libcamera: camera: Add support for stream usages\n  libcamera: camera: Add CameraConfiguration\n  libcamera: Switch to CameraConfiguration\n\n include/libcamera/camera.h                    |  35 ++-\n .../include => include/libcamera}/geometry.h  |   0\n include/libcamera/meson.build                 |   1 +\n include/libcamera/stream.h                    |  40 ++++\n src/cam/main.cpp                              |  34 +--\n src/libcamera/camera.cpp                      | 224 +++++++++++++++---\n src/libcamera/geometry.cpp                    |   2 +-\n src/libcamera/include/formats.h               |   2 +-\n src/libcamera/include/pipeline_handler.h      |   8 +-\n src/libcamera/include/v4l2_subdevice.h        |   3 +-\n src/libcamera/pipeline/ipu3/ipu3.cpp          |  14 +-\n src/libcamera/pipeline/uvcvideo.cpp           |  18 +-\n src/libcamera/pipeline/vimc.cpp               |  18 +-\n src/libcamera/pipeline_handler.cpp            |  16 +-\n src/libcamera/stream.cpp                      |  92 +++++++\n src/libcamera/v4l2_subdevice.cpp              |   3 +-\n src/qcam/main_window.cpp                      |   5 +-\n src/qcam/main_window.h                        |   2 +-\n test/camera/camera_test.cpp                   |  27 ---\n test/camera/camera_test.h                     |   3 -\n test/camera/capture.cpp                       |  11 +-\n test/camera/configuration_default.cpp         |  40 +---\n test/camera/configuration_set.cpp             |   9 +-\n test/camera/statemachine.cpp                  |   6 +-\n test/v4l2_subdevice/list_formats.cpp          |   3 +-\n 25 files changed, 442 insertions(+), 174 deletions(-)\n rename {src/libcamera/include => include/libcamera}/geometry.h (100%)"
}