[{"id":12306,"web_url":"https://patchwork.libcamera.org/comment/12306/","msgid":"<20200904161541.oqpkvjvfhg3jhtlt@uno.localdomain>","date":"2020-09-04T16:15:41","subject":"Re: [libcamera-devel] [PATCH v2 12/12] android: camera_device: Make\n\tCameraStream a class","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi me\n\nOn Wed, Sep 02, 2020 at 05:22:36PM +0200, Jacopo Mondi wrote:\n> Complete the transformation of CameraStream into a class and provide\n> a read-only interface that allows to access its parameters but not\n> modify them at run-time.\n>\n> No functional changes intended but this change aims to make the code\n> more robust by enforcing a stricter interface in the CameraStream class.\n>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> ---\n>  src/android/camera_device.cpp |  9 +++++----\n>  src/android/camera_device.h   | 14 ++++++++------\n>  2 files changed, 13 insertions(+), 10 deletions(-)\n>\n> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> index 28d8e081eab0..88c85ad183d2 100644\n> --- a/src/android/camera_device.cpp\n> +++ b/src/android/camera_device.cpp\n> @@ -168,8 +168,9 @@ MappedCamera3Buffer::MappedCamera3Buffer(const buffer_handle_t camera3buffer,\n>  \t}\n>  }\n>\n> -CameraStream::CameraStream(PixelFormat f, Size s, unsigned int i, Encoder *encoder)\n> -\t: format(f), size(s), index_(i), encoder_(encoder)\n> +CameraStream::CameraStream(PixelFormat format, Size size,\n> +\t\t\t   unsigned int index, Encoder *encoder)\n> +\t: format_(format), size_(size), index_(index), encoder_(encoder)\n>  {\n>  }\n>\n> @@ -1415,7 +1416,7 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques\n>  \t\tdescriptor->buffers[i].buffer = camera3Buffers[i].buffer;\n>\n>  \t\t/* Software streams are handled after hardware streams complete. */\n> -\t\tif (cameraStream->format == formats::MJPEG)\n> +\t\tif (cameraStream->format() == formats::MJPEG)\n>  \t\t\tcontinue;\n>\n>  \t\t/*\n> @@ -1479,7 +1480,7 @@ void CameraDevice::requestComplete(Request *request)\n>  \t\tCameraStream *cameraStream =\n>  \t\t\tstatic_cast<CameraStream *>(descriptor->buffers[i].stream->priv);\n>\n> -\t\tif (cameraStream->format != formats::MJPEG)\n> +\t\tif (cameraStream->format() != formats::MJPEG)\n>  \t\t\tcontinue;\n>\n>  \t\tEncoder *encoder = cameraStream->encoder();\n> diff --git a/src/android/camera_device.h b/src/android/camera_device.h\n> index 3c57ffec265d..729b2556011b 100644\n> --- a/src/android/camera_device.h\n> +++ b/src/android/camera_device.h\n> @@ -27,19 +27,21 @@\n>\n>  class CameraMetadata;\n>\n> -struct CameraStream {\n> +class CameraStream\n> +{\n>  public:\n> -\tCameraStream(libcamera::PixelFormat, libcamera::Size, unsigned int i,\n> -\t\t     Encoder *encoder = nullptr);\n> +\tCameraStream(libcamera::PixelFormat format, libcamera::Size size,\n> +\t\t     unsigned int index, Encoder *encoder = nullptr);\n>  \t~CameraStream();\n>\n> +\tlibcamera::PixelFormat format() const { return format_; }\n> +\tlibcamera::Size size() const { return size_; }\n\nShould these be const & ?\n\n>  \tunsigned int index() const { return index_; }\n>  \tEncoder *encoder() const { return encoder_; }\n>\n> -\tlibcamera::PixelFormat format;\n> -\tlibcamera::Size size;\n> -\n>  private:\n> +\tlibcamera::PixelFormat format_;\n> +\tlibcamera::Size size_;\n>  \t/*\n>  \t * The index of the libcamera StreamConfiguration as added during\n>  \t * configureStreams(). A single libcamera Stream may be used to deliver\n> --\n> 2.28.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 1D2DEBE174\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  4 Sep 2020 16:11:58 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AAA6660599;\n\tFri,  4 Sep 2020 18:11:57 +0200 (CEST)","from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net\n\t[217.70.183.200])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0F9206037B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  4 Sep 2020 18:11:56 +0200 (CEST)","from uno.localdomain (93-34-118-233.ip49.fastwebnet.it\n\t[93.34.118.233]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 09EDD20005;\n\tFri,  4 Sep 2020 16:11:54 +0000 (UTC)"],"X-Originating-IP":"93.34.118.233","Date":"Fri, 4 Sep 2020 18:15:41 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"libcamera-devel@lists.libcamera.org","Message-ID":"<20200904161541.oqpkvjvfhg3jhtlt@uno.localdomain>","References":"<20200902152236.69770-1-jacopo@jmondi.org>\n\t<20200902152236.69770-13-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20200902152236.69770-13-jacopo@jmondi.org>","Subject":"Re: [libcamera-devel] [PATCH v2 12/12] android: camera_device: Make\n\tCameraStream a class","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":"tfiga@google.com, hiroh@google.com","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":12340,"web_url":"https://patchwork.libcamera.org/comment/12340/","msgid":"<CAO5uPHNoc4xmGkW2vUsP_PKX2GWkSEo=dQqE5tw3J1uekDDX1A@mail.gmail.com>","date":"2020-09-07T07:45:52","subject":"Re: [libcamera-devel] [PATCH v2 12/12] android: camera_device: Make\n\tCameraStream a class","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"I started reviewing these patches today.\nThis LGTM.\n\nOn Sat, Sep 5, 2020 at 1:11 AM Jacopo Mondi <jacopo@jmondi.org> wrote:\n>\n> Hi me\n>\n> On Wed, Sep 02, 2020 at 05:22:36PM +0200, Jacopo Mondi wrote:\n> > Complete the transformation of CameraStream into a class and provide\n> > a read-only interface that allows to access its parameters but not\n> > modify them at run-time.\n> >\n> > No functional changes intended but this change aims to make the code\n> > more robust by enforcing a stricter interface in the CameraStream class.\n> >\n> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n\nReviewed-by: Hirokazu Honda <hiroh@chromium.org>\n> > ---\n> >  src/android/camera_device.cpp |  9 +++++----\n> >  src/android/camera_device.h   | 14 ++++++++------\n> >  2 files changed, 13 insertions(+), 10 deletions(-)\n> >\n> > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> > index 28d8e081eab0..88c85ad183d2 100644\n> > --- a/src/android/camera_device.cpp\n> > +++ b/src/android/camera_device.cpp\n> > @@ -168,8 +168,9 @@ MappedCamera3Buffer::MappedCamera3Buffer(const buffer_handle_t camera3buffer,\n> >       }\n> >  }\n> >\n> > -CameraStream::CameraStream(PixelFormat f, Size s, unsigned int i, Encoder *encoder)\n> > -     : format(f), size(s), index_(i), encoder_(encoder)\n> > +CameraStream::CameraStream(PixelFormat format, Size size,\n> > +                        unsigned int index, Encoder *encoder)\n> > +     : format_(format), size_(size), index_(index), encoder_(encoder)\n> >  {\n> >  }\n> >\n> > @@ -1415,7 +1416,7 @@ int CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques\n> >               descriptor->buffers[i].buffer = camera3Buffers[i].buffer;\n> >\n> >               /* Software streams are handled after hardware streams complete. */\n> > -             if (cameraStream->format == formats::MJPEG)\n> > +             if (cameraStream->format() == formats::MJPEG)\n> >                       continue;\n> >\n> >               /*\n> > @@ -1479,7 +1480,7 @@ void CameraDevice::requestComplete(Request *request)\n> >               CameraStream *cameraStream =\n> >                       static_cast<CameraStream *>(descriptor->buffers[i].stream->priv);\n> >\n> > -             if (cameraStream->format != formats::MJPEG)\n> > +             if (cameraStream->format() != formats::MJPEG)\n> >                       continue;\n> >\n> >               Encoder *encoder = cameraStream->encoder();\n> > diff --git a/src/android/camera_device.h b/src/android/camera_device.h\n> > index 3c57ffec265d..729b2556011b 100644\n> > --- a/src/android/camera_device.h\n> > +++ b/src/android/camera_device.h\n> > @@ -27,19 +27,21 @@\n> >\n> >  class CameraMetadata;\n> >\n> > -struct CameraStream {\n> > +class CameraStream\n> > +{\n> >  public:\n> > -     CameraStream(libcamera::PixelFormat, libcamera::Size, unsigned int i,\n> > -                  Encoder *encoder = nullptr);\n> > +     CameraStream(libcamera::PixelFormat format, libcamera::Size size,\n> > +                  unsigned int index, Encoder *encoder = nullptr);\n> >       ~CameraStream();\n> >\n> > +     libcamera::PixelFormat format() const { return format_; }\n> > +     libcamera::Size size() const { return size_; }\n>\n> Should these be const & ?\n>\n\nYes, it should be. Returning const reference reduces a unnecessary copy.\n\n> >       unsigned int index() const { return index_; }\n> >       Encoder *encoder() const { return encoder_; }\n> >\n> > -     libcamera::PixelFormat format;\n> > -     libcamera::Size size;\n> > -\n> >  private:\n> > +     libcamera::PixelFormat format_;\n> > +     libcamera::Size size_;\n> >       /*\n> >        * The index of the libcamera StreamConfiguration as added during\n> >        * configureStreams(). A single libcamera Stream may be used to deliver\n> > --\n> > 2.28.0\n> >\n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","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 1B3C1BDB1D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  7 Sep 2020 07:46:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A471C62B58;\n\tMon,  7 Sep 2020 09:46:06 +0200 (CEST)","from mail-ej1-x644.google.com (mail-ej1-x644.google.com\n\t[IPv6:2a00:1450:4864:20::644])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 149C5629B6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  7 Sep 2020 09:46:05 +0200 (CEST)","by mail-ej1-x644.google.com with SMTP id j11so17004526ejk.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 07 Sep 2020 00:46:05 -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=\"PdfASuwd\"; 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=NW6l5SI8xcN4DolJDnuGEwS+iT4TVEZ3NFhfoR8OB6Y=;\n\tb=PdfASuwdqktJ2RFuMLREGVdggIGOMa6Q2UlGz4sr9qbGj2aOCDANgbUsUE0PsGOcyx\n\t50ZG5UPXmi3xeDtOYRfrErLyfSs0kOV54xi5Bi/WUZqwdPQFnDr0P3aC2YKI/arV6BaJ\n\tXvkMHKeYHdTLLV4vEE9W/vnPq09kTbGK2xfdQ=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=NW6l5SI8xcN4DolJDnuGEwS+iT4TVEZ3NFhfoR8OB6Y=;\n\tb=dvbjKj2j6sqBf4smWvzZws1S8D3ZI8X7fKpbzhfxRQUg0T89TGgL569na8oW6lujFR\n\t7c2MjCDvZ2OA2RqcbJVqVqFHwxr7yQX0jq6rf5yHLwXa9f6y4d3LmGpnXXeUckDqgvKj\n\tB8+9RIR5rFZVv09ZHeCpHkbuQ9UH4ZSK8gVIJFqjHh6fthuSr8bLKdeIeEwnmLpHAVuS\n\t8fRnuZFfoHhxAJZ21uMB0PgOVo6QwHj2qBxnDrPnFu5hCfa1NGfTG9/jbE5MlSebMQFv\n\tjLWpPnBd+JrnGEobOtp1Xa3vljrM53lYMPiEw/56XA/bMf2XUuo423Zfsaeo3ETXhnOD\n\tfMew==","X-Gm-Message-State":"AOAM531wVHGArtHAlfnaysBFkYk9t7NopA/LPwdQlPt84IFvy2renZfX\n\tW1ht02xehl3hyzxZQc4J7nhP0tRArX9Cx6/snd02yg==","X-Google-Smtp-Source":"ABdhPJxkSWr3CzV16cZfcgxNLy90aUSRL8lojIscWIgahXFeEpMwEYrYG3JB2Sz5bLlYIPQg0AohbUIdkCY7BagjP+U=","X-Received":"by 2002:a17:906:344e:: with SMTP id\n\td14mr20535332ejb.42.1599464764623; \n\tMon, 07 Sep 2020 00:46:04 -0700 (PDT)","MIME-Version":"1.0","References":"<20200902152236.69770-1-jacopo@jmondi.org>\n\t<20200902152236.69770-13-jacopo@jmondi.org>\n\t<20200904161541.oqpkvjvfhg3jhtlt@uno.localdomain>","In-Reply-To":"<20200904161541.oqpkvjvfhg3jhtlt@uno.localdomain>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Mon, 7 Sep 2020 16:45:52 +0900","Message-ID":"<CAO5uPHNoc4xmGkW2vUsP_PKX2GWkSEo=dQqE5tw3J1uekDDX1A@mail.gmail.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Subject":"Re: [libcamera-devel] [PATCH v2 12/12] android: camera_device: Make\n\tCameraStream a class","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":"tfiga@google.com, libcamera-devel@lists.libcamera.org,\n\tHirokazu Honda <hiroh@google.com>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":12353,"web_url":"https://patchwork.libcamera.org/comment/12353/","msgid":"<CAL1V8ywTSTT1TcoMsbf_CrO-b=+XGCy5RFoD4Qb5CoLV1jJSAQ@mail.gmail.com>","date":"2020-09-07T07:41:11","subject":"Re: [libcamera-devel] [PATCH v2 12/12] android: camera_device: Make\n\tCameraStream a class","submitter":{"id":69,"url":"https://patchwork.libcamera.org/api/people/69/","name":"Hirokazu Honda","email":"hiroh@google.com"},"content":"I am starting to review these patches today.\nThis change LGTM.\n\n\nOn Sat, Sep 5, 2020 at 1:11 AM Jacopo Mondi <jacopo@jmondi.org> wrote:\n\n> Hi me\n>\n> On Wed, Sep 02, 2020 at 05:22:36PM +0200, Jacopo Mondi wrote:\n> > Complete the transformation of CameraStream into a class and provide\n> > a read-only interface that allows to access its parameters but not\n> > modify them at run-time.\n> >\n> > No functional changes intended but this change aims to make the code\n> > more robust by enforcing a stricter interface in the CameraStream class.\n> >\n> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > ---\n> >  src/android/camera_device.cpp |  9 +++++----\n> >  src/android/camera_device.h   | 14 ++++++++------\n> >  2 files changed, 13 insertions(+), 10 deletions(-)\n> >\n> > diff --git a/src/android/camera_device.cpp\n> b/src/android/camera_device.cpp\n> > index 28d8e081eab0..88c85ad183d2 100644\n> > --- a/src/android/camera_device.cpp\n> > +++ b/src/android/camera_device.cpp\n> > @@ -168,8 +168,9 @@ MappedCamera3Buffer::MappedCamera3Buffer(const\n> buffer_handle_t camera3buffer,\n> >       }\n> >  }\n> >\n> > -CameraStream::CameraStream(PixelFormat f, Size s, unsigned int i,\n> Encoder *encoder)\n> > -     : format(f), size(s), index_(i), encoder_(encoder)\n> > +CameraStream::CameraStream(PixelFormat format, Size size,\n> > +                        unsigned int index, Encoder *encoder)\n> > +     : format_(format), size_(size), index_(index), encoder_(encoder)\n> >  {\n> >  }\n> >\n> > @@ -1415,7 +1416,7 @@ int\n> CameraDevice::processCaptureRequest(camera3_capture_request_t *camera3Reques\n> >               descriptor->buffers[i].buffer = camera3Buffers[i].buffer;\n> >\n> >               /* Software streams are handled after hardware streams\n> complete. */\n> > -             if (cameraStream->format == formats::MJPEG)\n> > +             if (cameraStream->format() == formats::MJPEG)\n> >                       continue;\n> >\n> >               /*\n> > @@ -1479,7 +1480,7 @@ void CameraDevice::requestComplete(Request\n> *request)\n> >               CameraStream *cameraStream =\n> >                       static_cast<CameraStream\n> *>(descriptor->buffers[i].stream->priv);\n> >\n> > -             if (cameraStream->format != formats::MJPEG)\n> > +             if (cameraStream->format() != formats::MJPEG)\n> >                       continue;\n> >\n> >               Encoder *encoder = cameraStream->encoder();\n> > diff --git a/src/android/camera_device.h b/src/android/camera_device.h\n> > index 3c57ffec265d..729b2556011b 100644\n> > --- a/src/android/camera_device.h\n> > +++ b/src/android/camera_device.h\n> > @@ -27,19 +27,21 @@\n> >\n> >  class CameraMetadata;\n> >\n> > -struct CameraStream {\n> > +class CameraStream\n> > +{\n> >  public:\n> > -     CameraStream(libcamera::PixelFormat, libcamera::Size, unsigned int\n> i,\n> > -                  Encoder *encoder = nullptr);\n> > +     CameraStream(libcamera::PixelFormat format, libcamera::Size size,\n> > +                  unsigned int index, Encoder *encoder = nullptr);\n> >       ~CameraStream();\n> >\n> > +     libcamera::PixelFormat format() const { return format_; }\n> > +     libcamera::Size size() const { return size_; }\n>\n> Should these be const & ?\n>\n>\nYes, it should be. Returning const reference reduces a copy.\n\n\n> >       unsigned int index() const { return index_; }\n> >       Encoder *encoder() const { return encoder_; }\n> >\n> > -     libcamera::PixelFormat format;\n> > -     libcamera::Size size;\n> > -\n> >  private:\n> > +     libcamera::PixelFormat format_;\n> > +     libcamera::Size size_;\n> >       /*\n> >        * The index of the libcamera StreamConfiguration as added during\n> >        * configureStreams(). A single libcamera Stream may be used to\n> deliver\n> > --\n> > 2.28.0\n> >\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 3A80BBDB1D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  7 Sep 2020 10:14:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BB85D60371;\n\tMon,  7 Sep 2020 12:14:12 +0200 (CEST)","from mail-ot1-x343.google.com (mail-ot1-x343.google.com\n\t[IPv6:2607:f8b0:4864:20::343])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 866E660371\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  7 Sep 2020 09:41:25 +0200 (CEST)","by mail-ot1-x343.google.com with SMTP id c10so11526627otm.13\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 07 Sep 2020 00:41:25 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=google.com header.i=@google.com\n\theader.b=\"HTeZjAkT\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=20161025; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=NHGLjyaOVj5tYlCls0j+jIPE/LD7j5SeTWXtemkOrjo=;\n\tb=HTeZjAkTgk6L7Z3QB/89J2OU3xOP0Xr9yTDYAn9AWLsah7hXfmw99Nacf5USlkJfa7\n\ttLih8f89xaxiql64GRnVyWB0zXrhdDFWuKM2TeRFKJqvWouECBaGYvEKjAyg6Cny7JJu\n\tMmfZnjLwSk5EJekRwepglFfhE3xQkeNirD+g2v0M1TlU2/BjQXY6KfEbUrGnqMHd9hoN\n\tGUq5gvqx9s/4Jbdu6hujtz9VodS9Z03uSN3wftK55sMgf7AcBCxaN5dqOuRbokiv9Fxj\n\tZrTlbLVnFMHqxBluy4gvQVp11wIH+nqAVqqeBq09efLePl4k1Fn7s3MPG+zebUutwqZD\n\trUOA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=NHGLjyaOVj5tYlCls0j+jIPE/LD7j5SeTWXtemkOrjo=;\n\tb=txhuTZuMgHMwAOYtdu6TXp5c26M1Utt0iQIC9z6K93F1ij2gXs2/zn4noEjf9aiGtq\n\t/hZHhosyVQ3jGWnfelXe6fvG/uUr/x8Z/Eevh3WBOUUY5YEDHgJNtSD2DPd/tDJrgqma\n\tFfiRxkj2rSyWcCtEcaTEBkvsKZkiKyAFXMrfDPxP/vLwfrAtt1WUwoNq+/5AMQHkQZ3Y\n\t++Rip7ot5fXH76Ry6uIoHkIuv1W6IZC5sGfi/tNAXJQtq2rvmsv7Q5Xir+cpdZWpMdnN\n\tbiAE6sqGQjffYVg1oy4yJCg2//nqBmnGSrvp3hlX4HK1zYNPJbsVobfuHfVzxYnseBRZ\n\tVIxA==","X-Gm-Message-State":"AOAM533Di4TX8jC8mz/x5d6+z1RuXnLS6xDu5PQqgVJZDIIpH/gVOL7j\n\tBoy0HBr2obst/pX2mwYIqnqJvM/6v2R53Mc88Ggv/Q==","X-Google-Smtp-Source":"ABdhPJzmYd6cjb6WZqCchWACGCTZOYgG0P1ieyyH6eMmsboe4N2JjqKcxBCPXmpN2HDM1LP0SH/+/lhlunNpmHwh+/c=","X-Received":"by 2002:a9d:634f:: with SMTP id\n\ty15mr13056439otk.121.1599464483841; \n\tMon, 07 Sep 2020 00:41:23 -0700 (PDT)","MIME-Version":"1.0","References":"<20200902152236.69770-1-jacopo@jmondi.org>\n\t<20200902152236.69770-13-jacopo@jmondi.org>\n\t<20200904161541.oqpkvjvfhg3jhtlt@uno.localdomain>","In-Reply-To":"<20200904161541.oqpkvjvfhg3jhtlt@uno.localdomain>","From":"Hirokazu Honda <hiroh@google.com>","Date":"Mon, 7 Sep 2020 16:41:11 +0900","Message-ID":"<CAL1V8ywTSTT1TcoMsbf_CrO-b=+XGCy5RFoD4Qb5CoLV1jJSAQ@mail.gmail.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","X-Mailman-Approved-At":"Mon, 07 Sep 2020 12:14:10 +0200","Subject":"Re: [libcamera-devel] [PATCH v2 12/12] android: camera_device: Make\n\tCameraStream a class","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":"Tomasz Figa <tfiga@google.com>, libcamera-devel@lists.libcamera.org","Content-Type":"multipart/mixed;\n\tboundary=\"===============0247117679873540993==\"","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]