Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/15750/?format=api
{ "id": 15750, "url": "https://patchwork.libcamera.org/api/1.1/covers/15750/?format=api", "web_url": "https://patchwork.libcamera.org/cover/15750/", "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": "<20220429193434.167990-1-kieran.bingham@ideasonboard.com>", "date": "2022-04-29T19:34:31", "name": "[libcamera-devel,0/3] Sequence Observer", "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/15750/mbox/", "series": [ { "id": 3083, "url": "https://patchwork.libcamera.org/api/1.1/series/3083/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3083", "date": "2022-04-29T19:34:31", "name": "Sequence Observer", "version": 1, "mbox": "https://patchwork.libcamera.org/series/3083/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/15750/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 51A44C0F2A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 29 Apr 2022 19:34:25 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6A63265648;\n\tFri, 29 Apr 2022 21:34:24 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B514F6042F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 29 Apr 2022 21:34:22 +0200 (CEST)", "from Q.ksquared.org.uk.beta.tailscale.net (unknown\n\t[178.237.134.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id F3D8D45F;\n\tFri, 29 Apr 2022 21:34:21 +0200 (CEST)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1651260864;\n\tbh=zYc1GC01DsgB67RFQFoeCdFgV3OrlEDUufvd+1E9FnM=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=XHl08VOqI867Lk99gILrbAZLArMOrhBWyxQIJdpwBYC6LyQTeiSl2kQ29DUc+lBDA\n\tk+cg02Px64TTZO3OltBdtqE/5LthvjsT638n2GIv6/AvvjyT1txvyysd9/2yxZ/RJW\n\t3Gj5ALBB9GA8LqfoRwwTMqoH8kwvvhnNO85mf6j2LmAbFqut1IqreAeJICxFF+2oq8\n\tkQ8gO1GnK+eCbrv++kKeQlP6wOs3KhHDWXjAbAhOkuoTg+YzskW0GNaOU7HDsCj+HL\n\t+LXYckT7PYiSn+zq2TS5wzMAx/JhzCaBTXLE9EYaiBzS/7eSY2CdU4xtTbu+UMG3CN\n\tTmw+Uomro8lsw==", "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1651260862;\n\tbh=zYc1GC01DsgB67RFQFoeCdFgV3OrlEDUufvd+1E9FnM=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=H/o35TYB+UUa1rr0Al2cbFBDMSn2ZQYB0i4JVxhMIMO1NQHECzFNYtneOevTUytow\n\tuSYF6os6BJy88OaDjy0EQjGPVhJNQbHUYw+IINO1+luVFJgX4igHqsN3omUTrqtKeA\n\tf9e6b2t8LTIF0JnJp/iT/u3SKhidWNBkrYMVjT3k=" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"H/o35TYB\"; dkim-atps=neutral", "To": "libcamera devel <libcamera-devel@lists.libcamera.org>", "Date": "Fri, 29 Apr 2022 21:34:31 +0200", "Message-Id": "<20220429193434.167990-1-kieran.bingham@ideasonboard.com>", "X-Mailer": "git-send-email 2.25.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH 0/3] Sequence Observer", "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": "This fell out of some more work I did in the past catching and detecting\nframe drops in streams. While the method of reporting this event to\nuserspace is debated, this pulls out some core functionality and wraps\nsome generic code into a Sequence Observer to provide an easy to use\ncheck on any monotonic sequence.\n\nFor now - it simply reports a warning if a V4L2 device detects a frame\ndrop, which is more notification that we have currently... as we are\nsilently dropping frames at the moment.\n\nKieran Bingham (3):\n libcamera: Add sequence value observer\n test: Add Sequence observer tests\n libcamera: v4l2: Detect frame drops on V4L2VideoDevice\n\n include/libcamera/internal/v4l2_videodevice.h | 2 +\n include/libcamera/meson.build | 1 +\n include/libcamera/sequence.h | 20 +++++\n src/libcamera/meson.build | 1 +\n src/libcamera/sequence.cpp | 66 +++++++++++++++\n src/libcamera/v4l2_videodevice.cpp | 10 +++\n test/meson.build | 1 +\n test/sequence.cpp | 80 +++++++++++++++++++\n 8 files changed, 181 insertions(+)\n create mode 100644 include/libcamera/sequence.h\n create mode 100644 src/libcamera/sequence.cpp\n create mode 100644 test/sequence.cpp" }