[{"id":22829,"web_url":"https://patchwork.libcamera.org/comment/22829/","msgid":"<20220504065718.x3cvu64snhy7i5ho@uno.localdomain>","date":"2022-05-04T06:57:18","subject":"Re: [libcamera-devel] =?utf-8?q?=5BPATCH_1/3=5D_Documentation=3A?=\n\t=?utf-8?b?IHJlcGxhY2Ug4oCZIGJ5ICc=?=","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Quentin,\n\nOn Tue, May 03, 2022 at 06:30:36PM +0200, Quentin Schulz via libcamera-devel wrote:\n> From: Quentin Schulz <quentin.schulz@theobroma-systems.com>\n>\n> Replace U+2019 unicode character (’; right single quotation mark) by\n> U+27 unicode character ('; apostrophe) as it is what most people are\n> used to in sentences.\n>\n> While Sphinx seems to be rendering both the same way, it makes it easier\n> for searching in rST files directly.\n\nYou got me falling down quite a rather deep rabbit hole to find out\nwhat character I have on my keyboard among ' (U0027) and ’ (U2019) :)\n\nNow that I know a regular US keyboard has U0027 and I assume most\nlayouts have the same, then  I wonder how U2019 ended up here in first\nplace :)\n\nApart from that, seems U0027 is the 'right' choice, thanks for\nspotting\n\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n\n>\n> Cc: Quentin Schulz <foss+libcamera@0leil.net>\n> Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>\n> ---\n>  Documentation/guides/application-developer.rst | 10 +++++-----\n>  Documentation/guides/introduction.rst          |  2 +-\n>  Documentation/guides/pipeline-handler.rst      |  4 ++--\n>  3 files changed, 8 insertions(+), 8 deletions(-)\n>\n> diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst\n> index cafb24b1..07cc7273 100644\n> --- a/Documentation/guides/application-developer.rst\n> +++ b/Documentation/guides/application-developer.rst\n> @@ -47,7 +47,7 @@ runs for the life of the application. When the Camera Manager starts, it\n>  enumerates all the cameras detected in the system. Behind the scenes, libcamera\n>  abstracts and manages the complex pipelines that kernel drivers expose through\n>  the `Linux Media Controller`_ and `Video for Linux`_ (V4L2) APIs, meaning that\n> -an application doesn’t need to handle device or driver specific details.\n> +an application doesn't need to handle device or driver specific details.\n>\n>  .. _CameraManager: http://libcamera.org/api-html/classlibcamera_1_1CameraManager.html\n>  .. _Linux Media Controller: https://www.kernel.org/doc/html/latest/media/uapi/mediactl/media-controller-intro.html\n> @@ -236,8 +236,8 @@ applied to the system.\n>\n>     camera->configure(config.get());\n>\n> -If an application doesn’t first validate the configuration before calling\n> -``Camera::configure()``, there’s a chance that calling the function can fail, if\n> +If an application doesn't first validate the configuration before calling\n> +``Camera::configure()``, there's a chance that calling the function can fail, if\n>  the given configuration would have to be adjusted.\n>\n>  Allocate FrameBuffers\n> @@ -259,7 +259,7 @@ of suitable buffers, for instance, when no other device is involved, or on Linux\n>  platforms that lack a centralized allocator. The ``FrameBufferAllocator`` class\n>  provides a buffer allocator an application can use in these situations.\n>\n> -An application doesn’t have to use the default ``FrameBufferAllocator`` that\n> +An application doesn't have to use the default ``FrameBufferAllocator`` that\n>  libcamera provides. It can instead allocate memory manually and pass the buffers\n>  in ``Request``\\s (read more about ``Request`` in `the frame capture section\n>  <#frame-capture>`_ of this guide). The example in this guide covers using the\n> @@ -392,7 +392,7 @@ Create the ``requestComplete`` function by matching the slot signature:\n>\n>  Request completion events can be emitted for requests which have been canceled,\n>  for example, by unexpected application shutdown. To avoid an application\n> -processing invalid image data, it’s worth checking that the request has\n> +processing invalid image data, it's worth checking that the request has\n>  completed successfully. The list of request completion statuses is available in\n>  the `Request::Status`_ class enum documentation.\n>\n> diff --git a/Documentation/guides/introduction.rst b/Documentation/guides/introduction.rst\n> index a4671a07..d080679f 100644\n> --- a/Documentation/guides/introduction.rst\n> +++ b/Documentation/guides/introduction.rst\n> @@ -150,7 +150,7 @@ Architecture\n>  ------------\n>\n>  While offering a unified API towards upper layers, and presenting itself as a\n> -single library, libcamera isn’t monolithic. It exposes multiple components\n> +single library, libcamera isn't monolithic. It exposes multiple components\n>  through its public API and is built around a set of separate helpers internally.\n>  Hardware abstractions are handled through the use of device-specific components\n>  where required and dynamically loadable plugins are used to separate image\n> diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst\n> index c0fb7147..a7208f57 100644\n> --- a/Documentation/guides/pipeline-handler.rst\n> +++ b/Documentation/guides/pipeline-handler.rst\n> @@ -1036,8 +1036,8 @@ values. Handling of device controls is again performed using the libcamera\n>  .. _Controls Framework: http://libcamera.org/api-html/controls_8h.html\n>\n>  This section is particularly specific to Vivid as it sets the initial values of\n> -controls to match `Vivid Controls`_ defined by the kernel driver. You won’t need\n> -any of the code below for your pipeline handler, but it’s included as an example\n> +controls to match `Vivid Controls`_ defined by the kernel driver. You won't need\n> +any of the code below for your pipeline handler, but it's included as an example\n>  of how to implement functionality your pipeline handler might need.\n>\n>  .. _Vivid Controls: https://www.kernel.org/doc/html/latest/admin-guide/media/vivid.html#controls\n> --\n> 2.35.1\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 E8718C3256\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  4 May 2022 06:57:22 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 470A065641;\n\tWed,  4 May 2022 08:57:22 +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 7820A60424\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  4 May 2022 08:57:20 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id E0B73240009;\n\tWed,  4 May 2022 06:57:19 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1651647442;\n\tbh=04yzMEffb9k9wiHTPIOR+IwbCjvUEmQ2flL/Co1celg=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=rN9dn/OlixaxEMO4mmYUN2L8/SUqYD+Fb6uUg6Da8hg2y85+Bzr/KRZiYN8Es/Mz8\n\t+hXaEUc1DZ61k7+gjKlzJzpcPRLY62+mBWOBx/4MMY3iRRFuJPI4yrO85KPcHVyZZm\n\trbEbr/N9GKP3HX42UHqwazFHp/p8KwmW/+vio9ldW5jpm+VqUcpz+uO44BYAgraG3v\n\tLsGMAwb5XkNX70IUe1oq5Ycnf7FfKRZf6sXKcN9lKIMw5RM/2rK7//7uZL4jPjlGAB\n\tf5GLyKOumAKXEUlZKsjoYE2xMxFeo3nmWv116rjCjMIr3yI8fQoZJZaQAr9FZTLwGW\n\tiRKuDE+DqvapA==","Date":"Wed, 4 May 2022 08:57:18 +0200","To":"Quentin Schulz <foss+libcamera@0leil.net>","Message-ID":"<20220504065718.x3cvu64snhy7i5ho@uno.localdomain>","References":"<20220503163038.1174462-1-foss+libcamera@0leil.net>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20220503163038.1174462-1-foss+libcamera@0leil.net>","Subject":"Re: [libcamera-devel] =?utf-8?q?=5BPATCH_1/3=5D_Documentation=3A?=\n\t=?utf-8?b?IHJlcGxhY2Ug4oCZIGJ5ICc=?=","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":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":22846,"web_url":"https://patchwork.libcamera.org/comment/22846/","msgid":"<YnJRju/kj+sOJLjx@pendragon.ideasonboard.com>","date":"2022-05-04T10:12:30","subject":"Re: [libcamera-devel] =?utf-8?q?=5BPATCH_1/3=5D_Documentation=3A?=\n\t=?utf-8?b?IHJlcGxhY2Ug4oCZIGJ5ICc=?=","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Wed, May 04, 2022 at 08:57:18AM +0200, Jacopo Mondi via libcamera-devel wrote:\n> On Tue, May 03, 2022 at 06:30:36PM +0200, Quentin Schulz via libcamera-devel wrote:\n> > From: Quentin Schulz <quentin.schulz@theobroma-systems.com>\n> >\n> > Replace U+2019 unicode character (’; right single quotation mark) by\n> > U+27 unicode character ('; apostrophe) as it is what most people are\n> > used to in sentences.\n> >\n> > While Sphinx seems to be rendering both the same way, it makes it easier\n> > for searching in rST files directly.\n> \n> You got me falling down quite a rather deep rabbit hole to find out\n> what character I have on my keyboard among ' (U0027) and ’ (U2019) :)\n> \n> Now that I know a regular US keyboard has U0027 and I assume most\n> layouts have the same, then  I wonder how U2019 ended up here in first\n> place :)\n> \n> Apart from that, seems U0027 is the 'right' choice, thanks for\n> spotting\n> \n> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nLikewise,\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> > Cc: Quentin Schulz <foss+libcamera@0leil.net>\n> > Signed-off-by: Quentin Schulz <quentin.schulz@theobroma-systems.com>\n> > ---\n> >  Documentation/guides/application-developer.rst | 10 +++++-----\n> >  Documentation/guides/introduction.rst          |  2 +-\n> >  Documentation/guides/pipeline-handler.rst      |  4 ++--\n> >  3 files changed, 8 insertions(+), 8 deletions(-)\n> >\n> > diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst\n> > index cafb24b1..07cc7273 100644\n> > --- a/Documentation/guides/application-developer.rst\n> > +++ b/Documentation/guides/application-developer.rst\n> > @@ -47,7 +47,7 @@ runs for the life of the application. When the Camera Manager starts, it\n> >  enumerates all the cameras detected in the system. Behind the scenes, libcamera\n> >  abstracts and manages the complex pipelines that kernel drivers expose through\n> >  the `Linux Media Controller`_ and `Video for Linux`_ (V4L2) APIs, meaning that\n> > -an application doesn’t need to handle device or driver specific details.\n> > +an application doesn't need to handle device or driver specific details.\n> >\n> >  .. _CameraManager: http://libcamera.org/api-html/classlibcamera_1_1CameraManager.html\n> >  .. _Linux Media Controller: https://www.kernel.org/doc/html/latest/media/uapi/mediactl/media-controller-intro.html\n> > @@ -236,8 +236,8 @@ applied to the system.\n> >\n> >     camera->configure(config.get());\n> >\n> > -If an application doesn’t first validate the configuration before calling\n> > -``Camera::configure()``, there’s a chance that calling the function can fail, if\n> > +If an application doesn't first validate the configuration before calling\n> > +``Camera::configure()``, there's a chance that calling the function can fail, if\n> >  the given configuration would have to be adjusted.\n> >\n> >  Allocate FrameBuffers\n> > @@ -259,7 +259,7 @@ of suitable buffers, for instance, when no other device is involved, or on Linux\n> >  platforms that lack a centralized allocator. The ``FrameBufferAllocator`` class\n> >  provides a buffer allocator an application can use in these situations.\n> >\n> > -An application doesn’t have to use the default ``FrameBufferAllocator`` that\n> > +An application doesn't have to use the default ``FrameBufferAllocator`` that\n> >  libcamera provides. It can instead allocate memory manually and pass the buffers\n> >  in ``Request``\\s (read more about ``Request`` in `the frame capture section\n> >  <#frame-capture>`_ of this guide). The example in this guide covers using the\n> > @@ -392,7 +392,7 @@ Create the ``requestComplete`` function by matching the slot signature:\n> >\n> >  Request completion events can be emitted for requests which have been canceled,\n> >  for example, by unexpected application shutdown. To avoid an application\n> > -processing invalid image data, it’s worth checking that the request has\n> > +processing invalid image data, it's worth checking that the request has\n> >  completed successfully. The list of request completion statuses is available in\n> >  the `Request::Status`_ class enum documentation.\n> >\n> > diff --git a/Documentation/guides/introduction.rst b/Documentation/guides/introduction.rst\n> > index a4671a07..d080679f 100644\n> > --- a/Documentation/guides/introduction.rst\n> > +++ b/Documentation/guides/introduction.rst\n> > @@ -150,7 +150,7 @@ Architecture\n> >  ------------\n> >\n> >  While offering a unified API towards upper layers, and presenting itself as a\n> > -single library, libcamera isn’t monolithic. It exposes multiple components\n> > +single library, libcamera isn't monolithic. It exposes multiple components\n> >  through its public API and is built around a set of separate helpers internally.\n> >  Hardware abstractions are handled through the use of device-specific components\n> >  where required and dynamically loadable plugins are used to separate image\n> > diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst\n> > index c0fb7147..a7208f57 100644\n> > --- a/Documentation/guides/pipeline-handler.rst\n> > +++ b/Documentation/guides/pipeline-handler.rst\n> > @@ -1036,8 +1036,8 @@ values. Handling of device controls is again performed using the libcamera\n> >  .. _Controls Framework: http://libcamera.org/api-html/controls_8h.html\n> >\n> >  This section is particularly specific to Vivid as it sets the initial values of\n> > -controls to match `Vivid Controls`_ defined by the kernel driver. You won’t need\n> > -any of the code below for your pipeline handler, but it’s included as an example\n> > +controls to match `Vivid Controls`_ defined by the kernel driver. You won't need\n> > +any of the code below for your pipeline handler, but it's included as an example\n> >  of how to implement functionality your pipeline handler might need.\n> >\n> >  .. _Vivid Controls: https://www.kernel.org/doc/html/latest/admin-guide/media/vivid.html#controls","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 6556DC3256\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  4 May 2022 10:12:35 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CEAB565641;\n\tWed,  4 May 2022 12:12:34 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 255696563C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  4 May 2022 12:12:33 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 7BE11488;\n\tWed,  4 May 2022 12:12:32 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1651659154;\n\tbh=oE88OG5wKtU1gP5EjmpQcGhksayS37Yl5UaHhvGVrIM=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=DQGlX5/oUVnxNOU+5NB241O+5xOTuJEpbGA/opY70j9h2yHYjNXoitQyIqO+y65aL\n\t4dk81c2+0fyoiazHfwjKDfGufJUCsXCHErERLk83A7WcsQtRCYzsuXNDcUIKZa0i5d\n\tlvtqyuQxiknKK0tjWndmoncrO9RSIGY8cH0p2eLe5CbGc8XyAoDSYW0qqX8sovqTBC\n\ta87msQxOxKUkG2I3wfOqTq0OHpZZKIZtYuSOvACwUjMP3jbci3W2zZx+9KzGdsN4hH\n\tNEf6T71abPyMkxAheWNJjPPYPSXjm1MGWsXallwcjZ8vPX3MTnDEqwC+nntQ9hLIW1\n\t822bKY38V4q1g==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1651659152;\n\tbh=oE88OG5wKtU1gP5EjmpQcGhksayS37Yl5UaHhvGVrIM=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=hdis7FDZR4hVF8qGwsgAa6bbH3IQAlJdFSZcw2e1F9wZ2omW1UAPVT0k73Hmv3bb/\n\tuQdzmZzys4IOd2sKY4hJ/+pt53V5D51GDjDc7F7BcxYUCLYbEGK0nCH6kLz0+F1SUe\n\tkj6yJOo3QCjpISkTG8JJ1X8QaCvrCysE0yDsz90k="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"hdis7FDZ\"; dkim-atps=neutral","Date":"Wed, 4 May 2022 13:12:30 +0300","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<YnJRju/kj+sOJLjx@pendragon.ideasonboard.com>","References":"<20220503163038.1174462-1-foss+libcamera@0leil.net>\n\t<20220504065718.x3cvu64snhy7i5ho@uno.localdomain>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20220504065718.x3cvu64snhy7i5ho@uno.localdomain>","Subject":"Re: [libcamera-devel] =?utf-8?q?=5BPATCH_1/3=5D_Documentation=3A?=\n\t=?utf-8?b?IHJlcGxhY2Ug4oCZIGJ5ICc=?=","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":"Laurent Pinchart via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]