[{"id":20274,"web_url":"https://patchwork.libcamera.org/comment/20274/","msgid":"<20211018162721.kpdp3rkkyvbd4gm4@uno.localdomain>","date":"2021-10-18T16:27:21","subject":"Re: [libcamera-devel] [PATCH 06/11] android: camera_stream: Pass\n\tStreamBuffer to process()","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Laurent,\n\nOn Mon, Oct 18, 2021 at 06:59:18PM +0530, Umang Jain wrote:\n> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n> Now that we have a proper structure to model a stream buffer, pass it to\n> CameraStream::process() instead of the camera3_stream_buffer_t. This\n> will allow accessing other members of StreamBuffer in subsequent\n> commits.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n> ---\n>  src/android/camera_device.cpp |  2 +-\n>  src/android/camera_stream.cpp | 14 +++++++-------\n>  src/android/camera_stream.h   |  5 +++--\n>  3 files changed, 11 insertions(+), 10 deletions(-)\n>\n> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> index 59557358..cd9e9fe2 100644\n> --- a/src/android/camera_device.cpp\n> +++ b/src/android/camera_device.cpp\n> @@ -1175,7 +1175,7 @@ void CameraDevice::requestComplete(Request *request)\n>  \t\t\tcontinue;\n>  \t\t}\n>\n> -\t\tint ret = cameraStream->process(*src, buffer.buffer, descriptor);\n> +\t\tint ret = cameraStream->process(*src, buffer, descriptor);\n>\n>  \t\t/*\n>  \t\t * Return the FrameBuffer to the CameraStream now that we're\n> diff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp\n> index 8f47e4d8..f3cc77e7 100644\n> --- a/src/android/camera_stream.cpp\n> +++ b/src/android/camera_stream.cpp\n> @@ -143,15 +143,15 @@ int CameraStream::waitFence(int fence)\n>  }\n>\n>  int CameraStream::process(const FrameBuffer &source,\n> -\t\t\t  camera3_stream_buffer_t &camera3Dest,\n> +\t\t\t  Camera3RequestDescriptor::StreamBuffer &dest,\n>  \t\t\t  Camera3RequestDescriptor *request)\n>  {\n>  \t/* Handle waiting on fences on the destination buffer. */\n> -\tint fence = camera3Dest.acquire_fence;\n> +\tint fence = dest.buffer.acquire_fence;\n>  \tif (fence != -1) {\n>  \t\tint ret = waitFence(fence);\n>  \t\t::close(fence);\n> -\t\tcamera3Dest.acquire_fence = -1;\n> +\t\tdest.buffer.acquire_fence = -1;\n>  \t\tif (ret < 0) {\n>  \t\t\tLOG(HAL, Error) << \"Failed waiting for fence: \"\n>  \t\t\t\t\t<< fence << \": \" << strerror(-ret);\n> @@ -167,14 +167,14 @@ int CameraStream::process(const FrameBuffer &source,\n>  \t * separate thread.\n>  \t */\n>  \tconst StreamConfiguration &output = configuration();\n> -\tCameraBuffer dest(*camera3Dest.buffer, output.pixelFormat, output.size,\n> -\t\t\t  PROT_READ | PROT_WRITE);\n> -\tif (!dest.isValid()) {\n> +\tCameraBuffer destBuffer(*dest.buffer.buffer, output.pixelFormat,\n> +\t\t\t\toutput.size, PROT_READ | PROT_WRITE);\n> +\tif (!destBuffer.isValid()) {\n>  \t\tLOG(HAL, Error) << \"Failed to create destination buffer\";\n>  \t\treturn -EINVAL;\n>  \t}\n>\n> -\treturn postProcessor_->process(source, &dest, request);\n> +\treturn postProcessor_->process(source, &destBuffer, request);\n>  }\n>\n>  FrameBuffer *CameraStream::getBuffer()\n> diff --git a/src/android/camera_stream.h b/src/android/camera_stream.h\n> index 405b232d..197bd995 100644\n> --- a/src/android/camera_stream.h\n> +++ b/src/android/camera_stream.h\n> @@ -19,7 +19,8 @@\n>  #include <libcamera/geometry.h>\n>  #include <libcamera/pixel_format.h>\n>\n> -class Camera3RequestDescriptor;\n> +#include \"camera_request.h\"\n> +\n>  class CameraDevice;\n>  class PostProcessor;\n>\n> @@ -119,7 +120,7 @@ public:\n>\n>  \tint configure();\n>  \tint process(const libcamera::FrameBuffer &source,\n> -\t\t    camera3_stream_buffer_t &camera3Buffer,\n> +\t\t    Camera3RequestDescriptor::StreamBuffer &dest,\n>  \t\t    Camera3RequestDescriptor *request);\n>  \tlibcamera::FrameBuffer *getBuffer();\n>  \tvoid putBuffer(libcamera::FrameBuffer *buffer);\n> --\n> 2.31.0\n>","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 4A914C324C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 18 Oct 2021 16:26:36 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5997468F59;\n\tMon, 18 Oct 2021 18:26:35 +0200 (CEST)","from relay10.mail.gandi.net (relay10.mail.gandi.net\n\t[217.70.178.230])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7257168F56\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Oct 2021 18:26:33 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby relay10.mail.gandi.net (Postfix) with ESMTPSA id EBEBD240002;\n\tMon, 18 Oct 2021 16:26:32 +0000 (UTC)"],"Date":"Mon, 18 Oct 2021 18:27:21 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<20211018162721.kpdp3rkkyvbd4gm4@uno.localdomain>","References":"<20211018132923.476242-1-umang.jain@ideasonboard.com>\n\t<20211018132923.476242-7-umang.jain@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20211018132923.476242-7-umang.jain@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 06/11] android: camera_stream: Pass\n\tStreamBuffer to process()","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":20275,"web_url":"https://patchwork.libcamera.org/comment/20275/","msgid":"<20211018163207.2ozpewwwxvkw5vxs@uno.localdomain>","date":"2021-10-18T16:32:07","subject":"Re: [libcamera-devel] [PATCH 06/11] android: camera_stream: Pass\n\tStreamBuffer to process()","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Umang,\n\nOn Mon, Oct 18, 2021 at 06:59:18PM +0530, Umang Jain wrote:\n> From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n> Now that we have a proper structure to model a stream buffer, pass it to\n> CameraStream::process() instead of the camera3_stream_buffer_t. This\n> will allow accessing other members of StreamBuffer in subsequent\n> commits.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n\n> ---\n>  src/android/camera_device.cpp |  2 +-\n>  src/android/camera_stream.cpp | 14 +++++++-------\n>  src/android/camera_stream.h   |  5 +++--\n>  3 files changed, 11 insertions(+), 10 deletions(-)\n>\n> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> index 59557358..cd9e9fe2 100644\n> --- a/src/android/camera_device.cpp\n> +++ b/src/android/camera_device.cpp\n> @@ -1175,7 +1175,7 @@ void CameraDevice::requestComplete(Request *request)\n>  \t\t\tcontinue;\n>  \t\t}\n>\n> -\t\tint ret = cameraStream->process(*src, buffer.buffer, descriptor);\n> +\t\tint ret = cameraStream->process(*src, buffer, descriptor);\n>\n>  \t\t/*\n>  \t\t * Return the FrameBuffer to the CameraStream now that we're\n> diff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp\n> index 8f47e4d8..f3cc77e7 100644\n> --- a/src/android/camera_stream.cpp\n> +++ b/src/android/camera_stream.cpp\n> @@ -143,15 +143,15 @@ int CameraStream::waitFence(int fence)\n>  }\n>\n>  int CameraStream::process(const FrameBuffer &source,\n> -\t\t\t  camera3_stream_buffer_t &camera3Dest,\n> +\t\t\t  Camera3RequestDescriptor::StreamBuffer &dest,\n>  \t\t\t  Camera3RequestDescriptor *request)\n>  {\n>  \t/* Handle waiting on fences on the destination buffer. */\n> -\tint fence = camera3Dest.acquire_fence;\n> +\tint fence = dest.buffer.acquire_fence;\n>  \tif (fence != -1) {\n>  \t\tint ret = waitFence(fence);\n>  \t\t::close(fence);\n> -\t\tcamera3Dest.acquire_fence = -1;\n> +\t\tdest.buffer.acquire_fence = -1;\n>  \t\tif (ret < 0) {\n>  \t\t\tLOG(HAL, Error) << \"Failed waiting for fence: \"\n>  \t\t\t\t\t<< fence << \": \" << strerror(-ret);\n> @@ -167,14 +167,14 @@ int CameraStream::process(const FrameBuffer &source,\n>  \t * separate thread.\n>  \t */\n>  \tconst StreamConfiguration &output = configuration();\n> -\tCameraBuffer dest(*camera3Dest.buffer, output.pixelFormat, output.size,\n> -\t\t\t  PROT_READ | PROT_WRITE);\n> -\tif (!dest.isValid()) {\n> +\tCameraBuffer destBuffer(*dest.buffer.buffer, output.pixelFormat,\n> +\t\t\t\toutput.size, PROT_READ | PROT_WRITE);\n> +\tif (!destBuffer.isValid()) {\n>  \t\tLOG(HAL, Error) << \"Failed to create destination buffer\";\n>  \t\treturn -EINVAL;\n>  \t}\n>\n> -\treturn postProcessor_->process(source, &dest, request);\n> +\treturn postProcessor_->process(source, &destBuffer, request);\n>  }\n>\n>  FrameBuffer *CameraStream::getBuffer()\n> diff --git a/src/android/camera_stream.h b/src/android/camera_stream.h\n> index 405b232d..197bd995 100644\n> --- a/src/android/camera_stream.h\n> +++ b/src/android/camera_stream.h\n> @@ -19,7 +19,8 @@\n>  #include <libcamera/geometry.h>\n>  #include <libcamera/pixel_format.h>\n>\n> -class Camera3RequestDescriptor;\n> +#include \"camera_request.h\"\n> +\n>  class CameraDevice;\n>  class PostProcessor;\n>\n> @@ -119,7 +120,7 @@ public:\n>\n>  \tint configure();\n>  \tint process(const libcamera::FrameBuffer &source,\n> -\t\t    camera3_stream_buffer_t &camera3Buffer,\n> +\t\t    Camera3RequestDescriptor::StreamBuffer &dest,\n>  \t\t    Camera3RequestDescriptor *request);\n>  \tlibcamera::FrameBuffer *getBuffer();\n>  \tvoid putBuffer(libcamera::FrameBuffer *buffer);\n> --\n> 2.31.0\n>","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 C8D4BC323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 18 Oct 2021 16:31:20 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 194C368F59;\n\tMon, 18 Oct 2021 18:31:20 +0200 (CEST)","from relay11.mail.gandi.net (relay11.mail.gandi.net\n\t[217.70.178.231])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id EC9C368F56\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Oct 2021 18:31:18 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby relay11.mail.gandi.net (Postfix) with ESMTPSA id 715B5100009;\n\tMon, 18 Oct 2021 16:31:18 +0000 (UTC)"],"Date":"Mon, 18 Oct 2021 18:32:07 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<20211018163207.2ozpewwwxvkw5vxs@uno.localdomain>","References":"<20211018132923.476242-1-umang.jain@ideasonboard.com>\n\t<20211018132923.476242-7-umang.jain@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20211018132923.476242-7-umang.jain@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 06/11] android: camera_stream: Pass\n\tStreamBuffer to process()","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":20292,"web_url":"https://patchwork.libcamera.org/comment/20292/","msgid":"<CAO5uPHNS5ga6-eYSayUeSpRCzCmG8QZ2n6zQStvkGSZnOCynuQ@mail.gmail.com>","date":"2021-10-19T04:50:02","subject":"Re: [libcamera-devel] [PATCH 06/11] android: camera_stream: Pass\n\tStreamBuffer to process()","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Hi Umang and Laurent, thank you for the patch.\n\nOn Tue, Oct 19, 2021 at 1:26 AM Jacopo Mondi <jacopo@jmondi.org> wrote:\n>\n> Hi Laurent,\n>\n> On Mon, Oct 18, 2021 at 06:59:18PM +0530, Umang Jain wrote:\n> > From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> >\n> > Now that we have a proper structure to model a stream buffer, pass it to\n> > CameraStream::process() instead of the camera3_stream_buffer_t. This\n> > will allow accessing other members of StreamBuffer in subsequent\n> > commits.\n> >\n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n>\n\nReviewed-by: Hirokazu Honda <hiroh@chromium.org>\n\n> Thanks\n>   j\n> > ---\n> >  src/android/camera_device.cpp |  2 +-\n> >  src/android/camera_stream.cpp | 14 +++++++-------\n> >  src/android/camera_stream.h   |  5 +++--\n> >  3 files changed, 11 insertions(+), 10 deletions(-)\n> >\n> > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> > index 59557358..cd9e9fe2 100644\n> > --- a/src/android/camera_device.cpp\n> > +++ b/src/android/camera_device.cpp\n> > @@ -1175,7 +1175,7 @@ void CameraDevice::requestComplete(Request *request)\n> >                       continue;\n> >               }\n> >\n> > -             int ret = cameraStream->process(*src, buffer.buffer, descriptor);\n> > +             int ret = cameraStream->process(*src, buffer, descriptor);\n> >\n> >               /*\n> >                * Return the FrameBuffer to the CameraStream now that we're\n> > diff --git a/src/android/camera_stream.cpp b/src/android/camera_stream.cpp\n> > index 8f47e4d8..f3cc77e7 100644\n> > --- a/src/android/camera_stream.cpp\n> > +++ b/src/android/camera_stream.cpp\n> > @@ -143,15 +143,15 @@ int CameraStream::waitFence(int fence)\n> >  }\n> >\n> >  int CameraStream::process(const FrameBuffer &source,\n> > -                       camera3_stream_buffer_t &camera3Dest,\n> > +                       Camera3RequestDescriptor::StreamBuffer &dest,\n> >                         Camera3RequestDescriptor *request)\n> >  {\n> >       /* Handle waiting on fences on the destination buffer. */\n> > -     int fence = camera3Dest.acquire_fence;\n> > +     int fence = dest.buffer.acquire_fence;\n> >       if (fence != -1) {\n> >               int ret = waitFence(fence);\n> >               ::close(fence);\n> > -             camera3Dest.acquire_fence = -1;\n> > +             dest.buffer.acquire_fence = -1;\n> >               if (ret < 0) {\n> >                       LOG(HAL, Error) << \"Failed waiting for fence: \"\n> >                                       << fence << \": \" << strerror(-ret);\n> > @@ -167,14 +167,14 @@ int CameraStream::process(const FrameBuffer &source,\n> >        * separate thread.\n> >        */\n> >       const StreamConfiguration &output = configuration();\n> > -     CameraBuffer dest(*camera3Dest.buffer, output.pixelFormat, output.size,\n> > -                       PROT_READ | PROT_WRITE);\n> > -     if (!dest.isValid()) {\n> > +     CameraBuffer destBuffer(*dest.buffer.buffer, output.pixelFormat,\n> > +                             output.size, PROT_READ | PROT_WRITE);\n> > +     if (!destBuffer.isValid()) {\n> >               LOG(HAL, Error) << \"Failed to create destination buffer\";\n> >               return -EINVAL;\n> >       }\n> >\n> > -     return postProcessor_->process(source, &dest, request);\n> > +     return postProcessor_->process(source, &destBuffer, request);\n> >  }\n> >\n> >  FrameBuffer *CameraStream::getBuffer()\n> > diff --git a/src/android/camera_stream.h b/src/android/camera_stream.h\n> > index 405b232d..197bd995 100644\n> > --- a/src/android/camera_stream.h\n> > +++ b/src/android/camera_stream.h\n> > @@ -19,7 +19,8 @@\n> >  #include <libcamera/geometry.h>\n> >  #include <libcamera/pixel_format.h>\n> >\n> > -class Camera3RequestDescriptor;\n> > +#include \"camera_request.h\"\n> > +\n> >  class CameraDevice;\n> >  class PostProcessor;\n> >\n> > @@ -119,7 +120,7 @@ public:\n> >\n> >       int configure();\n> >       int process(const libcamera::FrameBuffer &source,\n> > -                 camera3_stream_buffer_t &camera3Buffer,\n> > +                 Camera3RequestDescriptor::StreamBuffer &dest,\n> >                   Camera3RequestDescriptor *request);\n> >       libcamera::FrameBuffer *getBuffer();\n> >       void putBuffer(libcamera::FrameBuffer *buffer);\n> > --\n> > 2.31.0\n> >","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 29109C324C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 19 Oct 2021 04:50:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DEEAC68F58;\n\tTue, 19 Oct 2021 06:50:15 +0200 (CEST)","from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com\n\t[IPv6:2a00:1450:4864:20::52e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D94AE60126\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 19 Oct 2021 06:50:13 +0200 (CEST)","by mail-ed1-x52e.google.com with SMTP id y12so8238541eda.4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 18 Oct 2021 21:50:13 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"a0bhRMic\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=9hNqCHL7ax9t9q/dddA7DVjy5xUt2DkEcq0vQTBoZPY=;\n\tb=a0bhRMicoSVv++MXqXKgW7luvt3+fx2C8kar2klbtF7o42kINnxkY92x3sSMFyy84u\n\t8hUvVE8i7fpeNIv2DTW1mYbnuD/hMN6bjX6yu6IIZ4rjJrplE67q9/9rt6LLjXob8/5t\n\t0MB/vhCGL8g1uunjQ6psUa9eIojqV+1fnDXE0=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=9hNqCHL7ax9t9q/dddA7DVjy5xUt2DkEcq0vQTBoZPY=;\n\tb=I3lZ1lfAD8etz/gezbEq8zgRxNK0G6q/mLev7UiJNNSqiDYMqYqQwEEetwTcPRAyVQ\n\tFjJ2GR8zcXXZ84wtWF1Bnqsor2dFKAIyoA2xEpOjdZReK7EpW2duICV9B4cuOSPOBzxk\n\tc6OQZFFUrgxTc5OpOhOzZpna3CGsVCUrZWZVRKjD5strOYH0wMX+TAqo3uarFgqwOoDF\n\tlOTwvj97kYzQi4UY13ZmAlhYT72MkOjJ8bPVKL8PGCNyJGXr1qDelvntB1VsqBLBotQp\n\tNLV8Ks7Por0TnjXv7je02dzBXpfvifjEOXbFGfgcGpNLc0HMCMJ0BJdcNnfRCPmAHvIM\n\t0CFw==","X-Gm-Message-State":"AOAM531ADN5GiDuvvjJG9x1z1sPAFPU2e0P32eVigUdRzOLPgR3QSUqa\n\t9Vyb/j3lYqivP5Vow/CocKvl3AjMLobVpPxgywNrfA==","X-Google-Smtp-Source":"ABdhPJzsvkXv6ulRWVPimdH5zw+DYbB6IsKqgpOURrWsZrQjR8sIQXjKpURnNZllKlUSbq3ZCp/zsz1pXg/xsMHXktY=","X-Received":"by 2002:a05:6402:3554:: with SMTP id\n\tf20mr51057886edd.354.1634619013574; \n\tMon, 18 Oct 2021 21:50:13 -0700 (PDT)","MIME-Version":"1.0","References":"<20211018132923.476242-1-umang.jain@ideasonboard.com>\n\t<20211018132923.476242-7-umang.jain@ideasonboard.com>\n\t<20211018162721.kpdp3rkkyvbd4gm4@uno.localdomain>","In-Reply-To":"<20211018162721.kpdp3rkkyvbd4gm4@uno.localdomain>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Tue, 19 Oct 2021 13:50:02 +0900","Message-ID":"<CAO5uPHNS5ga6-eYSayUeSpRCzCmG8QZ2n6zQStvkGSZnOCynuQ@mail.gmail.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH 06/11] android: camera_stream: Pass\n\tStreamBuffer to process()","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>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]