Show a patch.

GET /api/1.1/patches/17090/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 17090,
    "url": "https://patchwork.libcamera.org/api/1.1/patches/17090/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/17090/",
    "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": "<20220812090838.1784703-5-hanlinchen@chromium.org>",
    "date": "2022-08-12T09:08:35",
    "name": "[libcamera-devel,v2,4/7] android: Move StreamBuffer out of Camera3RequestDescriptor",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "ca5b1ca62f62ba00227ac56910fc635bfe530a0c",
    "submitter": {
        "id": 98,
        "url": "https://patchwork.libcamera.org/api/1.1/people/98/?format=api",
        "name": "Hanlin Chen",
        "email": "hanlinchen@chromium.org"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/17090/mbox/",
    "series": [
        {
            "id": 3408,
            "url": "https://patchwork.libcamera.org/api/1.1/series/3408/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3408",
            "date": "2022-08-12T09:08:31",
            "name": "Implement Android Partial Result Featrue",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/3408/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/17090/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/17090/checks/",
    "tags": {},
    "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 E920BC3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 12 Aug 2022 09:08:57 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A509D6332D;\n\tFri, 12 Aug 2022 11:08:57 +0200 (CEST)",
            "from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com\n\t[IPv6:2607:f8b0:4864:20::52c])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EE95A63326\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Aug 2022 11:08:55 +0200 (CEST)",
            "by mail-pg1-x52c.google.com with SMTP id l64so355479pge.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Aug 2022 02:08:55 -0700 (PDT)",
            "from localhost ([2401:fa00:1:17:1705:d284:d114:2e24])\n\tby smtp.gmail.com with UTF8SMTPSA id\n\ti3-20020aa796e3000000b0052e26b8f610sm1086534pfq.89.2022.08.12.02.08.53\n\t(version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n\tFri, 12 Aug 2022 02:08:54 -0700 (PDT)"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1660295337;\n\tbh=EJj/4KHxZ6GW6aEcXrZhsDR4/la2ePmUWSq9KoN4i8g=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=muvI8lgIhxQOFM/wm+yHnXHPK/zSCXuivDMPH4UGxxVtm85a2+dg8myOX/zWETSWl\n\t3XpUmQ0QkwWtdiAbKugTQckvwzk5WhdgSiaTeQKPKrsm5RpAslz6hhY+P1/7sqqoWV\n\ty54Fcc6biL6kkYM+H0JrLgVaEWFqm1eIjLI6iDTQXF4plcG+OCe6BL7eEU7gs5c57q\n\tpVrNkhqlc2xaBPdDJ1Y0InBxevhXVpNTFTxlzUp5B38u/cWlrFVjcDoFVePiFLvdtK\n\tV4atGiUv7JTV6cmT8y0BFOwnpzosN55XtscST44BxAsUfOQya3z+6rh6+GiUFjFHfw\n\twjKY3G0kdV7Hg==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:from:to:cc;\n\tbh=CWynA5+65XjCH6EeaSoIqpclotts5uUrEOCyvbnaAk0=;\n\tb=DJCKwQI3ymSxJJvwPVi1p42NcJQlG1IQzsiE5evRueO0OQuJ9YdBkxkPQQWRETS3Tu\n\tr65zx/PJzSwkwMWk3mFzMitXUc4vRJkm6Pfy4VIpbYUfKxjHPQ3dFFYFTi18WzCapsNE\n\tfCYmkFKo7gLfbNwEeFt7AVDqYyMGX/SbWdfeA="
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=chromium.org\n\theader.i=@chromium.org header.b=\"DJCKwQI3\"; \n\tdkim-atps=neutral",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc;\n\tbh=CWynA5+65XjCH6EeaSoIqpclotts5uUrEOCyvbnaAk0=;\n\tb=JvvChxPHbOmEwvOVjtEgtrFRblEff7vwq+bVwdZvBOW+/tNFuyvx8UWp0f7OLUcWIT\n\tBKToXc4DOu7e/dmIUE4uAg/NVIZPDKxH+dKNGncQ9/22MguH9Z5/IadvGdrL7jUnL+Ey\n\t7modZjLnDtCwUOC1tlPxdbXKkwofGoviJNQLNNxgCSBvaam50Fgau9uv+YcIWucCLeos\n\tp+4wozDhy5etclvnTwQmGGd9ueXvRlZ48dq7kBM9xSmVhq2po66O17fryAynA2XhBMiA\n\tbm8Hm7hmI9KWajyH1KQJkXcMctLjqpEff6ImDJ6nSHX6HP5/sfeX0m9qJsbksTlY22II\n\tbNcA==",
        "X-Gm-Message-State": "ACgBeo1or3RqbXRt7FevqCSuHw2+iBzqcmalPiKh0HCRAib5lTukobBG\n\tBLnMLLcMmBkPndQ6rhHdLXFTIsLHtQYo8A==",
        "X-Google-Smtp-Source": "AA6agR7NqssVxLc0SzXAYAeOmGZEbm+KgCpZTYfF6jjVA1LemV24xMVoa/LiUXYlZt+IhXW1IaaAhw==",
        "X-Received": "by 2002:a65:6c0c:0:b0:41b:8696:d9d7 with SMTP id\n\ty12-20020a656c0c000000b0041b8696d9d7mr2392593pgu.16.1660295334261; \n\tFri, 12 Aug 2022 02:08:54 -0700 (PDT)",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Fri, 12 Aug 2022 17:08:35 +0800",
        "Message-Id": "<20220812090838.1784703-5-hanlinchen@chromium.org>",
        "X-Mailer": "git-send-email 2.37.1.595.g718a3a8f04-goog",
        "In-Reply-To": "<20220812090838.1784703-1-hanlinchen@chromium.org>",
        "References": "<20220812090838.1784703-1-hanlinchen@chromium.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH v2 4/7] android: Move StreamBuffer out of\n\tCamera3RequestDescriptor",
        "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": "Han-Lin Chen via libcamera-devel <libcamera-devel@lists.libcamera.org>",
        "Reply-To": "Han-Lin Chen <hanlinchen@chromium.org>",
        "Errors-To": "libcamera-devel-bounces@lists.libcamera.org",
        "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"
    },
    "content": "Move StreamBuffer out of Camera3RequestDescriptor as a refactory before\napplying partial result to Android adaptor. For easier adding\nCamera3ResultDescriptor which references both StreamBuffer and\nCamera3RequestDescriptor.\n\nSigned-off-by: Han-Lin Chen <hanlinchen@chromium.org>\n---\n src/android/camera_device.cpp            | 22 +++++-----\n src/android/camera_device.h              |  7 ++--\n src/android/camera_request.cpp           | 29 +++++++------\n src/android/camera_request.h             | 52 ++++++++++++++----------\n src/android/camera_stream.cpp            | 17 ++++----\n src/android/camera_stream.h              |  6 +--\n src/android/jpeg/post_processor_jpeg.cpp |  2 +-\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 11 files changed, 75 insertions(+), 70 deletions(-)",
    "diff": "diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\nindex b20e389b..0248f146 100644\n--- a/src/android/camera_device.cpp\n+++ b/src/android/camera_device.cpp\n@@ -860,7 +860,7 @@ void CameraDevice::abortRequest(Camera3RequestDescriptor *descriptor) const\n \tnotifyError(descriptor->frameNumber_, nullptr, CAMERA3_MSG_ERROR_REQUEST);\n \n \tfor (auto &buffer : descriptor->buffers_)\n-\t\tbuffer.status = Camera3RequestDescriptor::Status::Error;\n+\t\tbuffer.status = StreamBuffer::Status::Error;\n \n \tdescriptor->status_ = Camera3RequestDescriptor::Status::Error;\n }\n@@ -1156,7 +1156,7 @@ void CameraDevice::requestComplete(Request *request)\n \t\t\tif (fence)\n \t\t\t\tbuffer.fence = fence->release();\n \t\t}\n-\t\tbuffer.status = Camera3RequestDescriptor::Status::Success;\n+\t\tbuffer.status = StreamBuffer::Status::Success;\n \t}\n \n \t/*\n@@ -1219,12 +1219,12 @@ void CameraDevice::requestComplete(Request *request)\n \tauto iter = descriptor->pendingStreamsToProcess_.begin();\n \twhile (iter != descriptor->pendingStreamsToProcess_.end()) {\n \t\tCameraStream *stream = iter->first;\n-\t\tCamera3RequestDescriptor::StreamBuffer *buffer = iter->second;\n+\t\tStreamBuffer *buffer = iter->second;\n \n \t\tFrameBuffer *src = request->findBuffer(stream->stream());\n \t\tif (!src) {\n \t\t\tLOG(HAL, Error) << \"Failed to find a source stream buffer\";\n-\t\t\tsetBufferStatus(*buffer, Camera3RequestDescriptor::Status::Error);\n+\t\t\tsetBufferStatus(*buffer, StreamBuffer::Status::Error);\n \t\t\titer = descriptor->pendingStreamsToProcess_.erase(iter);\n \t\t\tcontinue;\n \t\t}\n@@ -1234,7 +1234,7 @@ void CameraDevice::requestComplete(Request *request)\n \t\t++iter;\n \t\tint ret = stream->process(buffer);\n \t\tif (ret) {\n-\t\t\tsetBufferStatus(*buffer, Camera3RequestDescriptor::Status::Error);\n+\t\t\tsetBufferStatus(*buffer, StreamBuffer::Status::Error);\n \t\t\tdescriptor->pendingStreamsToProcess_.erase(stream);\n \n \t\t\t/*\n@@ -1304,7 +1304,7 @@ void CameraDevice::sendCaptureResults()\n \t\tfor (auto &buffer : descriptor->buffers_) {\n \t\t\tcamera3_buffer_status status = CAMERA3_BUFFER_STATUS_ERROR;\n \n-\t\t\tif (buffer.status == Camera3RequestDescriptor::Status::Success)\n+\t\t\tif (buffer.status == StreamBuffer::Status::Success)\n \t\t\t\tstatus = CAMERA3_BUFFER_STATUS_OK;\n \n \t\t\t/*\n@@ -1328,11 +1328,11 @@ void CameraDevice::sendCaptureResults()\n \t}\n }\n \n-void CameraDevice::setBufferStatus(Camera3RequestDescriptor::StreamBuffer &streamBuffer,\n-\t\t\t\t   Camera3RequestDescriptor::Status status)\n+void CameraDevice::setBufferStatus(StreamBuffer &streamBuffer,\n+\t\t\t\t   StreamBuffer::Status status)\n {\n \tstreamBuffer.status = status;\n-\tif (status != Camera3RequestDescriptor::Status::Success) {\n+\tif (status != StreamBuffer::Status::Success) {\n \t\tnotifyError(streamBuffer.request->frameNumber_,\n \t\t\t    streamBuffer.stream->camera3Stream(),\n \t\t\t    CAMERA3_MSG_ERROR_BUFFER);\n@@ -1356,8 +1356,8 @@ void CameraDevice::setBufferStatus(Camera3RequestDescriptor::StreamBuffer &strea\n  * be generated from post-processing have been completed. Mark the descriptor as\n  * complete using completeDescriptor() in that case.\n  */\n-void CameraDevice::streamProcessingComplete(Camera3RequestDescriptor::StreamBuffer *streamBuffer,\n-\t\t\t\t\t    Camera3RequestDescriptor::Status status)\n+void CameraDevice::streamProcessingComplete(StreamBuffer *streamBuffer,\n+\t\t\t\t\t    StreamBuffer::Status status)\n {\n \tsetBufferStatus(*streamBuffer, status);\n \ndiff --git a/src/android/camera_device.h b/src/android/camera_device.h\nindex 64050416..9eb7221b 100644\n--- a/src/android/camera_device.h\n+++ b/src/android/camera_device.h\n@@ -64,8 +64,8 @@ public:\n \tint configureStreams(camera3_stream_configuration_t *stream_list);\n \tint processCaptureRequest(camera3_capture_request_t *request);\n \tvoid requestComplete(libcamera::Request *request);\n-\tvoid streamProcessingComplete(Camera3RequestDescriptor::StreamBuffer *bufferStream,\n-\t\t\t\t      Camera3RequestDescriptor::Status status);\n+\tvoid streamProcessingComplete(StreamBuffer *bufferStream,\n+\t\t\t\t      StreamBuffer::Status status);\n \n protected:\n \tstd::string logPrefix() const override;\n@@ -96,8 +96,7 @@ private:\n \tvoid completeDescriptor(Camera3RequestDescriptor *descriptor)\n \t\tLIBCAMERA_TSA_EXCLUDES(descriptorsMutex_);\n \tvoid sendCaptureResults() LIBCAMERA_TSA_REQUIRES(descriptorsMutex_);\n-\tvoid setBufferStatus(Camera3RequestDescriptor::StreamBuffer &buffer,\n-\t\t\t     Camera3RequestDescriptor::Status status);\n+\tvoid setBufferStatus(StreamBuffer &buffer, StreamBuffer::Status status);\n \tstd::unique_ptr<CameraMetadata> getResultMetadata(\n \t\tconst Camera3RequestDescriptor &descriptor) const;\n \ndiff --git a/src/android/camera_request.cpp b/src/android/camera_request.cpp\nindex 6c87adba..f5d4d314 100644\n--- a/src/android/camera_request.cpp\n+++ b/src/android/camera_request.cpp\n@@ -141,7 +141,7 @@ Camera3RequestDescriptor::Camera3RequestDescriptor(\n Camera3RequestDescriptor::~Camera3RequestDescriptor() = default;\n \n /**\n- * \\struct Camera3RequestDescriptor::StreamBuffer\n+ * \\class StreamBuffer\n  * \\brief Group information for per-stream buffer of Camera3RequestDescriptor\n  *\n  * A capture request placed to the libcamera HAL can contain multiple streams.\n@@ -150,35 +150,35 @@ Camera3RequestDescriptor::~Camera3RequestDescriptor() = default;\n  * generation. The generation of the stream will depend on its type (refer to\n  * the CameraStream::Type documentation).\n  *\n- * \\var Camera3RequestDescriptor::StreamBuffer::stream\n+ * \\var StreamBuffer::stream\n  * \\brief Pointer to the corresponding CameraStream\n  *\n- * \\var Camera3RequestDescriptor::StreamBuffer::camera3Buffer\n+ * \\var StreamBuffer::camera3Buffer\n  * \\brief Native handle to the buffer\n  *\n- * \\var Camera3RequestDescriptor::StreamBuffer::frameBuffer\n+ * \\var StreamBuffer::frameBuffer\n  * \\brief Encapsulate the dmabuf handle inside a libcamera::FrameBuffer for\n  * direct streams\n  *\n- * \\var Camera3RequestDescriptor::StreamBuffer::fence\n+ * \\var StreamBuffer::fence\n  * \\brief Acquire fence of the buffer\n  *\n- * \\var Camera3RequestDescriptor::StreamBuffer::status\n+ * \\var StreamBuffer::status\n  * \\brief Track the status of the buffer\n  *\n- * \\var Camera3RequestDescriptor::StreamBuffer::internalBuffer\n+ * \\var StreamBuffer::internalBuffer\n  * \\brief Pointer to a buffer internally handled by CameraStream (if any)\n  *\n- * \\var Camera3RequestDescriptor::StreamBuffer::srcBuffer\n+ * \\var StreamBuffer::srcBuffer\n  * \\brief Pointer to the source frame buffer used for post-processing\n  *\n- * \\var Camera3RequestDescriptor::StreamBuffer::dstBuffer\n+ * \\var StreamBuffer::dstBuffer\n  * \\brief Pointer to the destination frame buffer used for post-processing\n  *\n- * \\var Camera3RequestDescriptor::StreamBuffer::request\n+ * \\var StreamBuffer::request\n  * \\brief Back pointer to the Camera3RequestDescriptor to which the StreamBuffer belongs\n  */\n-Camera3RequestDescriptor::StreamBuffer::StreamBuffer(\n+StreamBuffer::StreamBuffer(\n \tCameraStream *cameraStream, const camera3_stream_buffer_t &buffer,\n \tCamera3RequestDescriptor *requestDescriptor)\n \t: stream(cameraStream), camera3Buffer(buffer.buffer),\n@@ -186,9 +186,8 @@ Camera3RequestDescriptor::StreamBuffer::StreamBuffer(\n {\n }\n \n-Camera3RequestDescriptor::StreamBuffer::~StreamBuffer() = default;\n+StreamBuffer::~StreamBuffer() = default;\n \n-Camera3RequestDescriptor::StreamBuffer::StreamBuffer(StreamBuffer &&) = default;\n+StreamBuffer::StreamBuffer(StreamBuffer &&) = default;\n \n-Camera3RequestDescriptor::StreamBuffer &\n-Camera3RequestDescriptor::StreamBuffer::operator=(Camera3RequestDescriptor::StreamBuffer &&) = default;\n+StreamBuffer &StreamBuffer::operator=(StreamBuffer &&) = default;\ndiff --git a/src/android/camera_request.h b/src/android/camera_request.h\nindex 37b6ae32..5aa4eea8 100644\n--- a/src/android/camera_request.h\n+++ b/src/android/camera_request.h\n@@ -24,8 +24,9 @@\n \n class CameraBuffer;\n class CameraStream;\n+class Camera3RequestDescriptor;\n \n-class Camera3RequestDescriptor\n+class StreamBuffer\n {\n public:\n \tenum class Status {\n@@ -33,27 +34,34 @@ public:\n \t\tError,\n \t};\n \n-\tstruct StreamBuffer {\n-\t\tStreamBuffer(CameraStream *stream,\n-\t\t\t     const camera3_stream_buffer_t &buffer,\n-\t\t\t     Camera3RequestDescriptor *request);\n-\t\t~StreamBuffer();\n-\n-\t\tStreamBuffer(StreamBuffer &&);\n-\t\tStreamBuffer &operator=(StreamBuffer &&);\n-\n-\t\tCameraStream *stream;\n-\t\tbuffer_handle_t *camera3Buffer;\n-\t\tstd::unique_ptr<libcamera::FrameBuffer> frameBuffer;\n-\t\tlibcamera::UniqueFD fence;\n-\t\tStatus status = Status::Success;\n-\t\tlibcamera::FrameBuffer *internalBuffer = nullptr;\n-\t\tconst libcamera::FrameBuffer *srcBuffer = nullptr;\n-\t\tstd::unique_ptr<CameraBuffer> dstBuffer;\n-\t\tCamera3RequestDescriptor *request;\n-\n-\tprivate:\n-\t\tLIBCAMERA_DISABLE_COPY(StreamBuffer)\n+\tStreamBuffer(CameraStream *stream,\n+\t\t     const camera3_stream_buffer_t &buffer,\n+\t\t     Camera3RequestDescriptor *request);\n+\t~StreamBuffer();\n+\n+\tStreamBuffer(StreamBuffer &&);\n+\tStreamBuffer &operator=(StreamBuffer &&);\n+\n+\tCameraStream *stream;\n+\tbuffer_handle_t *camera3Buffer;\n+\tstd::unique_ptr<libcamera::FrameBuffer> frameBuffer;\n+\tlibcamera::UniqueFD fence;\n+\tStatus status = Status::Success;\n+\tlibcamera::FrameBuffer *internalBuffer = nullptr;\n+\tconst libcamera::FrameBuffer *srcBuffer = nullptr;\n+\tstd::unique_ptr<CameraBuffer> dstBuffer;\n+\tCamera3RequestDescriptor *request;\n+\n+private:\n+\tLIBCAMERA_DISABLE_COPY(StreamBuffer)\n+};\n+\n+class Camera3RequestDescriptor\n+{\n+public:\n+\tenum class Status {\n+\t\tSuccess,\n+\t\tError,\n \t};\n \n \t/* Keeps track of streams requiring post-processing. */\ndiff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp\nindex 045e6006..02dc8922 100644\n--- a/src/android/camera_stream.cpp\n+++ b/src/android/camera_stream.cpp\n@@ -112,14 +112,14 @@ int CameraStream::configure()\n \n \t\tworker_ = std::make_unique<PostProcessorWorker>(postProcessor_.get());\n \t\tpostProcessor_->processComplete.connect(\n-\t\t\tthis, [&](Camera3RequestDescriptor::StreamBuffer *streamBuffer,\n+\t\t\tthis, [&](StreamBuffer *streamBuffer,\n \t\t\t\t  PostProcessor::Status status) {\n-\t\t\t\tCamera3RequestDescriptor::Status bufferStatus;\n+\t\t\t\tStreamBuffer::Status bufferStatus;\n \n \t\t\t\tif (status == PostProcessor::Status::Success)\n-\t\t\t\t\tbufferStatus = Camera3RequestDescriptor::Status::Success;\n+\t\t\t\t\tbufferStatus = StreamBuffer::Status::Success;\n \t\t\t\telse\n-\t\t\t\t\tbufferStatus = Camera3RequestDescriptor::Status::Error;\n+\t\t\t\t\tbufferStatus = StreamBuffer::Status::Error;\n \n \t\t\t\tcameraDevice_->streamProcessingComplete(streamBuffer,\n \t\t\t\t\t\t\t\t\tbufferStatus);\n@@ -165,7 +165,7 @@ int CameraStream::waitFence(int fence)\n \treturn -errno;\n }\n \n-int CameraStream::process(Camera3RequestDescriptor::StreamBuffer *streamBuffer)\n+int CameraStream::process(StreamBuffer *streamBuffer)\n {\n \tASSERT(type_ != Type::Direct);\n \n@@ -283,7 +283,7 @@ void CameraStream::PostProcessorWorker::start()\n \tThread::start();\n }\n \n-void CameraStream::PostProcessorWorker::queueRequest(Camera3RequestDescriptor::StreamBuffer *dest)\n+void CameraStream::PostProcessorWorker::queueRequest(StreamBuffer *dest)\n {\n \t{\n \t\tMutexLocker lock(mutex_);\n@@ -306,7 +306,7 @@ void CameraStream::PostProcessorWorker::run()\n \t\tif (state_ != State::Running)\n \t\t\tbreak;\n \n-\t\tCamera3RequestDescriptor::StreamBuffer *streamBuffer = requests_.front();\n+\t\tStreamBuffer *streamBuffer = requests_.front();\n \t\trequests_.pop();\n \t\tlocker.unlock();\n \n@@ -316,8 +316,7 @@ void CameraStream::PostProcessorWorker::run()\n \t}\n \n \tif (state_ == State::Flushing) {\n-\t\tstd::queue<Camera3RequestDescriptor::StreamBuffer *> requests =\n-\t\t\tstd::move(requests_);\n+\t\tstd::queue<StreamBuffer *> requests = std::move(requests_);\n \t\tlocker.unlock();\n \n \t\twhile (!requests.empty()) {\ndiff --git a/src/android/camera_stream.h b/src/android/camera_stream.h\nindex 4c5078b2..c3b2e325 100644\n--- a/src/android/camera_stream.h\n+++ b/src/android/camera_stream.h\n@@ -127,7 +127,7 @@ public:\n \tCameraStream *sourceStream() const { return sourceStream_; }\n \n \tint configure();\n-\tint process(Camera3RequestDescriptor::StreamBuffer *streamBuffer);\n+\tint process(StreamBuffer *streamBuffer);\n \tlibcamera::FrameBuffer *getBuffer();\n \tvoid putBuffer(libcamera::FrameBuffer *buffer);\n \tvoid flush();\n@@ -146,7 +146,7 @@ private:\n \t\t~PostProcessorWorker();\n \n \t\tvoid start();\n-\t\tvoid queueRequest(Camera3RequestDescriptor::StreamBuffer *request);\n+\t\tvoid queueRequest(StreamBuffer *request);\n \t\tvoid flush();\n \n \tprotected:\n@@ -158,7 +158,7 @@ private:\n \t\tlibcamera::Mutex mutex_;\n \t\tlibcamera::ConditionVariable cv_;\n \n-\t\tstd::queue<Camera3RequestDescriptor::StreamBuffer *> requests_\n+\t\tstd::queue<StreamBuffer *> requests_\n \t\t\tLIBCAMERA_TSA_GUARDED_BY(mutex_);\n \n \t\tState state_ LIBCAMERA_TSA_GUARDED_BY(mutex_) = State::Stopped;\ndiff --git a/src/android/jpeg/post_processor_jpeg.cpp b/src/android/jpeg/post_processor_jpeg.cpp\nindex d72ebc3c..b9ba38ce 100644\n--- a/src/android/jpeg/post_processor_jpeg.cpp\n+++ b/src/android/jpeg/post_processor_jpeg.cpp\n@@ -98,7 +98,7 @@ void PostProcessorJpeg::generateThumbnail(const FrameBuffer &source,\n \t}\n }\n \n-void PostProcessorJpeg::process(Camera3RequestDescriptor::StreamBuffer *streamBuffer)\n+void PostProcessorJpeg::process(StreamBuffer *streamBuffer)\n {\n \tASSERT(encoder_);\n \ndiff --git a/src/android/jpeg/post_processor_jpeg.h b/src/android/jpeg/post_processor_jpeg.h\nindex 98309b01..0ba3e01b 100644\n--- a/src/android/jpeg/post_processor_jpeg.h\n+++ b/src/android/jpeg/post_processor_jpeg.h\n@@ -22,7 +22,7 @@ public:\n \n \tint configure(const libcamera::StreamConfiguration &incfg,\n \t\t      const libcamera::StreamConfiguration &outcfg) override;\n-\tvoid process(Camera3RequestDescriptor::StreamBuffer *streamBuffer) override;\n+\tvoid process(StreamBuffer *streamBuffer) override;\n \n private:\n \tvoid generateThumbnail(const libcamera::FrameBuffer &source,\ndiff --git a/src/android/post_processor.h b/src/android/post_processor.h\nindex 1a205b05..ac0182cd 100644\n--- a/src/android/post_processor.h\n+++ b/src/android/post_processor.h\n@@ -27,7 +27,7 @@ public:\n \n \tvirtual int configure(const libcamera::StreamConfiguration &inCfg,\n \t\t\t      const libcamera::StreamConfiguration &outCfg) = 0;\n-\tvirtual void process(Camera3RequestDescriptor::StreamBuffer *streamBuffer) = 0;\n+\tvirtual void process(StreamBuffer *streamBuffer) = 0;\n \n-\tlibcamera::Signal<Camera3RequestDescriptor::StreamBuffer *, Status> processComplete;\n+\tlibcamera::Signal<StreamBuffer *, Status> processComplete;\n };\ndiff --git a/src/android/yuv/post_processor_yuv.cpp b/src/android/yuv/post_processor_yuv.cpp\nindex ed44e6fe..de49b378 100644\n--- a/src/android/yuv/post_processor_yuv.cpp\n+++ b/src/android/yuv/post_processor_yuv.cpp\n@@ -49,7 +49,7 @@ int PostProcessorYuv::configure(const StreamConfiguration &inCfg,\n \treturn 0;\n }\n \n-void PostProcessorYuv::process(Camera3RequestDescriptor::StreamBuffer *streamBuffer)\n+void PostProcessorYuv::process(StreamBuffer *streamBuffer)\n {\n \tconst FrameBuffer &source = *streamBuffer->srcBuffer;\n \tCameraBuffer *destination = streamBuffer->dstBuffer.get();\ndiff --git a/src/android/yuv/post_processor_yuv.h b/src/android/yuv/post_processor_yuv.h\nindex a7ac17c5..27cf4bbc 100644\n--- a/src/android/yuv/post_processor_yuv.h\n+++ b/src/android/yuv/post_processor_yuv.h\n@@ -18,7 +18,7 @@ public:\n \n \tint configure(const libcamera::StreamConfiguration &incfg,\n \t\t      const libcamera::StreamConfiguration &outcfg) override;\n-\tvoid process(Camera3RequestDescriptor::StreamBuffer *streamBuffer) override;\n+\tvoid process(StreamBuffer *streamBuffer) override;\n \n private:\n \tbool isValidBuffers(const libcamera::FrameBuffer &source,\n",
    "prefixes": [
        "libcamera-devel",
        "v2",
        "4/7"
    ]
}