Show a cover letter.

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

{
    "id": 22111,
    "url": "https://patchwork.libcamera.org/api/covers/22111/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/22111/",
    "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": "<20241127092632.3145984-1-chenghaoyang@chromium.org>",
    "date": "2024-11-27T09:25:50",
    "name": "[v2,0/8] Signal metadataAvailable and Android partial result",
    "submitter": {
        "id": 117,
        "url": "https://patchwork.libcamera.org/api/people/117/?format=api",
        "name": "Cheng-Hao Yang",
        "email": "chenghaoyang@chromium.org"
    },
    "mbox": "https://patchwork.libcamera.org/cover/22111/mbox/",
    "series": [
        {
            "id": 4828,
            "url": "https://patchwork.libcamera.org/api/series/4828/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4828",
            "date": "2024-11-27T09:25:50",
            "name": "Signal metadataAvailable and Android partial result",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/4828/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/22111/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 D32ADC3213\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 27 Nov 2024 09:26:42 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A1008660BA;\n\tWed, 27 Nov 2024 10:26:41 +0100 (CET)",
            "from mail-pg1-x533.google.com (mail-pg1-x533.google.com\n\t[IPv6:2607:f8b0:4864:20::533])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 207CA660AD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 Nov 2024 10:26:40 +0100 (CET)",
            "by mail-pg1-x533.google.com with SMTP id\n\t41be03b00d2f7-7fc8f0598cdso254953a12.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 Nov 2024 01:26:39 -0800 (PST)",
            "from chenghaoyang-low.c.googlers.com.com\n\t(27.247.221.35.bc.googleusercontent.com. [35.221.247.27])\n\tby smtp.gmail.com with ESMTPSA id\n\t41be03b00d2f7-7fbcbfc41f9sm8693027a12.8.2024.11.27.01.26.36\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 27 Nov 2024 01:26:37 -0800 (PST)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"ex0O+oU3\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=chromium.org; s=google; t=1732699597; x=1733304397;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=7tXtCY8bgASiCUiJ2cEOeEozx6u4HTw4RujPC9EsCY0=;\n\tb=ex0O+oU3La8UBcyks1MZwwkvM47Sv6hHKmzZmEO4uZFn+8LLLul4D8rig2thK4HpYf\n\tgNq8gOKzGJWDglcZM8UzAww7hWtaQlCGkTCS1yz2Fb8kn2NPxRB7kGwPZPnJK/VazqWg\n\t1zhV/ltFFuW5X2jUezU9toU/fYOS37ea2/q9Y=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1732699597; x=1733304397;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=7tXtCY8bgASiCUiJ2cEOeEozx6u4HTw4RujPC9EsCY0=;\n\tb=sUaQhoXaGrqcbEJIYpLBifbpmZEmHcnemxWfSljVsYUYXrKSxBHlH5O2gKcfKUfQBF\n\t/6djePTV6Ro3vpfPtJFzMkR43QBZ2E7FibAO3/pxDt8gYltwx692Z9xsary6zG39fUXa\n\tH+NsKSky/rkgghxzKMF285qFAHEGRSfsqxvUe801LuCCURkw1ByNdFqtq9e5ZtyT7QGO\n\ttwXCvG7nyxpyLVYT62mi4wHuOm3B4b5E64TrbvzO95CIA6amc7Pw1U/rVMwm27ldHjKI\n\t3vpsrYHzRl+LBXltmQCxw9LPxkt+zRTpavhP1IUVlB7hwppV5QNo1JFnoSqHSyycQtV3\n\tu+gQ==",
        "X-Gm-Message-State": "AOJu0YzevWtZlRBbdUWf+fFKGOMy7S46vjtWxy95kQaxmLT9Be5Xt9lw\n\tMhyqZ1ICVnEhziNIvyfRJJw5XEAkLR85aBEDQL7s1TBleSpu58KM/QpH6EmSb0G1MvVW7xfFdnQ\n\t=",
        "X-Gm-Gg": "ASbGncuxP9yUSDM957B0dKf+1GQgw6f0WOlGexUvtKXAwmEpg7QwpJUyxA7JNQlovKi\n\trSuK6CLghHqYsdYdr0zCH7a6RRyMSnW5GjmQE7ltQQSdR8QMZ7FXiizulUPrHlm9Ye++P2SCfQ/\n\tjLQAzukHvPVxldhn0Q882NSHML9xvhKqvx9K0A6n1SKHQk7+fMpNswUvA3oo/mnkgnSmNDOvTxm\n\tQm8jsFKBLp5mFwrm+Ew6V/Ue4dNSr0juUKHxTMVINa1H/JWvhwSaUQikuEfFlHxVoNn2+OZ+AMj\n\tJMdzqe+UfVx22k+78yoWpop1NNvZgVzs8wozmb7jAJRULx5S2FYV0Q==",
        "X-Google-Smtp-Source": "AGHT+IF9kpEa6441GPfo8Alg6QZ7DSZVvmCpMmpvMBBl3AKRLzCehg+TVmdatnHXEPVQMW+x9EPUXQ==",
        "X-Received": "by 2002:a05:6a20:a109:b0:1d8:a67e:d323 with SMTP id\n\tadf61e73a8af0-1e0d676e36bmr7925704637.22.1732699597508; \n\tWed, 27 Nov 2024 01:26:37 -0800 (PST)",
        "From": "Harvey Yang <chenghaoyang@chromium.org>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Harvey Yang <chenghaoyang@chromium.org>",
        "Subject": "[PATCH v2 0/8] Signal metadataAvailable and Android partial result",
        "Date": "Wed, 27 Nov 2024 09:25:50 +0000",
        "Message-ID": "<20241127092632.3145984-1-chenghaoyang@chromium.org>",
        "X-Mailer": "git-send-email 2.47.0.338.g60cca15819-goog",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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": "Hi folks,\n\nThis series of patches adds a new signal metadataAvailable in\nlibcamera::Camera, and supports partial result in Android adapter.\n\nAlthough Android allows a partial result to contain both buffers and\nmetadata, we probably don't need such a feature. Splitting them into\ndifferent partial results should fit both MediaTek's and Intel's\nrequirements.\n\nThis patch passed gitlab pipeline:\nhttps://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1317276\n\nThere are still some discussion of the new signal in the previous patch,\nwith Jacopo. I'll update the patch when we reach agreement.\n\nI understand that the last patch is a bit large, while I don't know how\nto split that furthermore. Let me know if there are some pieces that can\nbe standalone patches.\n\nBR,\nHarvey\n\n\nHan-Lin Chen (2):\n  libcamera: Camera: Add signals for completion of metadata as a partial\n    result\n  android: Add JpegExifMetadata to store tags setting into Exif\n\nHarvey Yang (7):\n  android: Move StreamBuffer out of Camera3RequestDescriptor\n  android: Set StreamBuffer::srcBuffer in\n    CameraDevice::processCaptureRequest\n  android: Migrate StreamBuffer::internalBuffer to\n    Camera3RequestDescriptor\n  android: Add CameraDevice::sendCaptureResult()\n  android: Cleanup CAMERA3_MSG_ERROR_REQUEST\n  android: Remove Camera3RequestDescriptor::streamsProcessMutex_\n  android: Support partial results\n\n include/libcamera/camera.h                    |   1 +\n include/libcamera/internal/pipeline_handler.h |   1 +\n include/libcamera/internal/request.h          |   4 +\n include/libcamera/request.h                   |   1 +\n src/android/camera_capabilities.cpp           |  11 +-\n src/android/camera_capabilities.h             |   2 +\n src/android/camera_device.cpp                 | 926 ++++++++++++------\n src/android/camera_device.h                   |  46 +-\n src/android/camera_request.cpp                |  94 +-\n src/android/camera_request.h                  |  96 +-\n src/android/camera_stream.cpp                 |  20 +-\n src/android/camera_stream.h                   |  10 +-\n src/android/jpeg/encoder.h                    |   2 +-\n src/android/jpeg/encoder_jea.cpp              |   2 +-\n src/android/jpeg/encoder_jea.h                |   2 +-\n src/android/jpeg/encoder_libjpeg.cpp          |   2 +-\n src/android/jpeg/encoder_libjpeg.h            |   2 +-\n src/android/jpeg/post_processor_jpeg.cpp      |  16 +-\n src/android/jpeg/post_processor_jpeg.h        |   2 +-\n src/android/post_processor.h                  |   4 +-\n src/android/yuv/post_processor_yuv.cpp        |   2 +-\n src/android/yuv/post_processor_yuv.h          |   2 +-\n src/libcamera/camera.cpp                      |   6 +\n src/libcamera/pipeline_handler.cpp            |  41 +\n src/libcamera/request.cpp                     |  21 +\n 25 files changed, 908 insertions(+), 408 deletions(-)"
}