Show a cover letter.

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

{
    "id": 788,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/788/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/788/",
    "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": "<20190323073125.25497-1-laurent.pinchart@ideasonboard.com>",
    "date": "2019-03-23T07:31:23",
    "name": "[libcamera-devel,0/2] Qt-based libcamera viewer",
    "submitter": {
        "id": 2,
        "url": "https://patchwork.libcamera.org/api/1.1/people/2/?format=api",
        "name": "Laurent Pinchart",
        "email": "laurent.pinchart@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/788/mbox/",
    "series": [
        {
            "id": 217,
            "url": "https://patchwork.libcamera.org/api/1.1/series/217/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=217",
            "date": "2019-03-23T07:31:23",
            "name": "Qt-based libcamera viewer",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/217/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/788/comments/",
    "headers": {
        "Return-Path": "<laurent.pinchart@ideasonboard.com>",
        "Received": [
            "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 1CEC7600FD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 23 Mar 2019 08:31:42 +0100 (CET)",
            "from pendragon.ideasonboard.com (30.net042126252.t-com.ne.jp\n\t[42.126.252.30])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id BD7E42D0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 23 Mar 2019 08:31:40 +0100 (CET)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1553326301;\n\tbh=FNoTHCF5WefeiZrYl1v/rwrdZdWCUG0HNaaoTJ301rg=;\n\th=From:To:Subject:Date:From;\n\tb=GOdyD2knsGYMJte6LTfVXXV8oSTMdyp2FhR/uV4KUSKIoFXGnNPY7MC9PlR/OGgWf\n\tTFhrwPbNlWFwEMHd74H0OPo4S5J/MHCwADWtPAHAYdM3I8JkbrrTjr3CfWJisz/ghy\n\t+VLkAo17mfOpCYJEjmKzlUI0W7NsWiKcAksZXSyc=",
        "From": "Laurent Pinchart <laurent.pinchart@ideasonboard.com>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Sat, 23 Mar 2019 09:31:23 +0200",
        "Message-Id": "<20190323073125.25497-1-laurent.pinchart@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.19.2",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 0/2] Qt-based libcamera viewer",
        "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": "Sat, 23 Mar 2019 07:31:42 -0000"
    },
    "content": "Hello,\n\nAs part of a recent demo, I faced a need to display the frames generated\nby libcamera on the screen. Starting with Niklas' experiments with Qt\nand libcamera, I've created the qcam application.\n\nThe result is quite simple, supports a single stream, and has very\nlimited features (the only feature is camera selection, everything else,\nincluding format selection, user-controlled camera start/stop, is not\nimplemented yet). Still, I believe it can be useful, and may even be\nclean enough to merge it in the libcamera tree.\n\nOne item worth noting is the integration of the Qt event loop in the\nlibcamera event dispatcher infrastructure. This component could possibly\nbe moved to a libcamera-utils library, as it it could be useful to\nlibcamera users.\n\nLaurent Pinchart (2):\n  cam: Separate options valid() and empty()\n  qcam: Add Qt-based GUI application\n\n src/cam/main.cpp                 |   7 +-\n src/cam/options.cpp              |  34 +++--\n src/cam/options.h                |   5 +-\n src/meson.build                  |   1 +\n src/qcam/format_converter.cpp    |  99 ++++++++++++++\n src/qcam/format_converter.h      |  14 ++\n src/qcam/main.cpp                |  75 +++++++++++\n src/qcam/main_window.cpp         | 223 +++++++++++++++++++++++++++++++\n src/qcam/main_window.h           |  54 ++++++++\n src/qcam/meson.build             |  19 +++\n src/qcam/qt_event_dispatcher.cpp | 145 ++++++++++++++++++++\n src/qcam/qt_event_dispatcher.h   |  62 +++++++++\n src/qcam/viewfinder.cpp          |  38 ++++++\n src/qcam/viewfinder.h            |  31 +++++\n 14 files changed, 785 insertions(+), 22 deletions(-)\n create mode 100644 src/qcam/format_converter.cpp\n create mode 100644 src/qcam/format_converter.h\n create mode 100644 src/qcam/main.cpp\n create mode 100644 src/qcam/main_window.cpp\n create mode 100644 src/qcam/main_window.h\n create mode 100644 src/qcam/meson.build\n create mode 100644 src/qcam/qt_event_dispatcher.cpp\n create mode 100644 src/qcam/qt_event_dispatcher.h\n create mode 100644 src/qcam/viewfinder.cpp\n create mode 100644 src/qcam/viewfinder.h"
}