[{"id":34385,"web_url":"https://patchwork.libcamera.org/comment/34385/","msgid":"<174859248771.13825.17851131487919115804@freya>","date":"2025-05-30T08:08:07","subject":"Re: [PATCH 2/2] guides: pipeline-handler: Update name of pipeline\n\thandler stop function","submitter":{"id":223,"url":"https://patchwork.libcamera.org/api/people/223/","name":"Jai Luthra","email":"jai.luthra@ideasonboard.com"},"content":"Hi Niklas,\n\nThanks for the patch.\n\nQuoting Niklas Söderlund (2025-05-28 17:48:27)\n> Since commit f6b6f15b54c2 (\"libcamera: pipeline: Introduce\n> stopDevice()\") the stop function needed to be implemented by pipeline\n> handlers where renamed to stopDevice().\n> \n> Update the pipeline handler writers guide to match this.\n> \n> Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> ---\n>  Documentation/guides/pipeline-handler.rst | 6 +++---\n>  1 file changed, 3 insertions(+), 3 deletions(-)\n> \n> diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst\n> index fe7529759650..3adb9ce24a85 100644\n> --- a/Documentation/guides/pipeline-handler.rst\n> +++ b/Documentation/guides/pipeline-handler.rst\n> @@ -213,7 +213,7 @@ implementations for the overridden class members.\n>            std::vector<std::unique_ptr<FrameBuffer>> *buffers) override;\n>  \n>            int start(Camera *camera, const ControlList *controls) override;\n> -          void stop(Camera *camera) override;\n> +          void stopDevice(Camera *camera) override;\n>  \n>            int queueRequestDevice(Camera *camera, Request *request) override;\n>  \n> @@ -247,7 +247,7 @@ implementations for the overridden class members.\n>            return -1;\n>     }\n>  \n> -   void PipelineHandlerVivid::stop(Camera *camera)\n> +   void PipelineHandlerVivid::stopDevice(Camera *camera)\n>     {\n>     }\n>  \n> @@ -1152,7 +1152,7 @@ available to the devices which have to be started and ready to produce\n>  images. At the end of a capture session the ``Camera`` device needs to be\n>  stopped, to gracefully clean up any allocated memory and stop the hardware\n>  devices. Pipeline handlers implement two functions for these purposes, the\n> -``start()`` and ``stop()`` functions.\n> +``start()`` and ``stopDevice()`` functions.\n>  \n>  The memory initialization phase that happens at ``start()`` time serves to\n>  configure video devices to be able to use memory buffers exported as dma-buf\n\nThere is one more reference to the stop function:\n\n@@ -1261,8 +1261,8 @@ algorithms, or other devices you should also stop them.\n .. _releaseBuffers: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a191619c152f764e03bc461611f3fcd35\n\n Of course we also need to handle the corresponding actions to stop streaming on\n-a device, Add the following to the ``stop`` function, to stop the stream with\n-the `streamOff`_ function and release all buffers.\n+a device, Add the following to the ``stopDevice()`` function, to stop the\n+stream with the `streamOff`_ function and release all buffers.\n\n .. _streamOff: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a61998710615bdf7aa25a046c8565ed66\n\nWith that change,\n\nReviewed-by: Jai Luthra <jai.luthra@ideasonboard.com>\n\n> -- \n> 2.49.0\n>\n\nThanks,\nJai","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 D10A5C31E9\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 30 May 2025 08:08:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2D15068DA8;\n\tFri, 30 May 2025 10:08:15 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 23A9D614D5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 30 May 2025 10:08:13 +0200 (CEST)","from mail.ideasonboard.com (unknown\n\t[IPv6:2401:4900:1c69:a32:6c89:ac1f:c57:9954])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 08C0789A;\n\tFri, 30 May 2025 10:07:44 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"L2rwUIqo\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1748592465;\n\tbh=DpIt21pf890bfattZnDW44BMDVisMIaSPIdT1Uzh2n0=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=L2rwUIqoMQ7VRYiFkC+cIdgSGdtlCJ8sGs3d/14AZIThqD9pB5t4uEviFrldCK+9W\n\tNz5rTst4EUV9cvslhx9xerLMp6ana0bh9r1hARw7qMqq1l9qIPreMldtYHvrMlTNv8\n\trZT+n9b76BBvAtv7CC3t3OH9AUCF8PZG7FJIbVFs=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20250528121827.87844-3-niklas.soderlund@ragnatech.se>","References":"<20250528121827.87844-1-niklas.soderlund@ragnatech.se>\n\t<20250528121827.87844-3-niklas.soderlund@ragnatech.se>","Subject":"Re: [PATCH 2/2] guides: pipeline-handler: Update name of pipeline\n\thandler stop function","From":"Jai Luthra <jai.luthra@ideasonboard.com>","Cc":"Niklas =?utf-8?q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>","To":"Niklas =?utf-8?q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Fri, 30 May 2025 13:38:07 +0530","Message-ID":"<174859248771.13825.17851131487919115804@freya>","User-Agent":"alot/0.12.dev28+gd2c823fe","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>"}},{"id":34394,"web_url":"https://patchwork.libcamera.org/comment/34394/","msgid":"<20250530101623.GV12492@pendragon.ideasonboard.com>","date":"2025-05-30T10:16:23","subject":"Re: [PATCH 2/2] guides: pipeline-handler: Update name of pipeline\n\thandler stop function","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Fri, May 30, 2025 at 01:38:07PM +0530, Jai Luthra wrote:\n> Quoting Niklas Söderlund (2025-05-28 17:48:27)\n> > Since commit f6b6f15b54c2 (\"libcamera: pipeline: Introduce\n> > stopDevice()\") the stop function needed to be implemented by pipeline\n> > handlers where renamed to stopDevice().\n\ns/where/was/\n\n> > \n> > Update the pipeline handler writers guide to match this.\n> > \n> > Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>\n> > ---\n> >  Documentation/guides/pipeline-handler.rst | 6 +++---\n> >  1 file changed, 3 insertions(+), 3 deletions(-)\n> > \n> > diff --git a/Documentation/guides/pipeline-handler.rst b/Documentation/guides/pipeline-handler.rst\n> > index fe7529759650..3adb9ce24a85 100644\n> > --- a/Documentation/guides/pipeline-handler.rst\n> > +++ b/Documentation/guides/pipeline-handler.rst\n> > @@ -213,7 +213,7 @@ implementations for the overridden class members.\n> >            std::vector<std::unique_ptr<FrameBuffer>> *buffers) override;\n> >  \n> >            int start(Camera *camera, const ControlList *controls) override;\n> > -          void stop(Camera *camera) override;\n> > +          void stopDevice(Camera *camera) override;\n> >  \n> >            int queueRequestDevice(Camera *camera, Request *request) override;\n> >  \n> > @@ -247,7 +247,7 @@ implementations for the overridden class members.\n> >            return -1;\n> >     }\n> >  \n> > -   void PipelineHandlerVivid::stop(Camera *camera)\n> > +   void PipelineHandlerVivid::stopDevice(Camera *camera)\n> >     {\n> >     }\n> >  \n> > @@ -1152,7 +1152,7 @@ available to the devices which have to be started and ready to produce\n> >  images. At the end of a capture session the ``Camera`` device needs to be\n> >  stopped, to gracefully clean up any allocated memory and stop the hardware\n> >  devices. Pipeline handlers implement two functions for these purposes, the\n> > -``start()`` and ``stop()`` functions.\n> > +``start()`` and ``stopDevice()`` functions.\n> >  \n> >  The memory initialization phase that happens at ``start()`` time serves to\n> >  configure video devices to be able to use memory buffers exported as dma-buf\n> \n> There is one more reference to the stop function:\n> \n> @@ -1261,8 +1261,8 @@ algorithms, or other devices you should also stop them.\n>  .. _releaseBuffers: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a191619c152f764e03bc461611f3fcd35\n> \n>  Of course we also need to handle the corresponding actions to stop streaming on\n> -a device, Add the following to the ``stop`` function, to stop the stream with\n> -the `streamOff`_ function and release all buffers.\n> +a device, Add the following to the ``stopDevice()`` function, to stop the\n> +stream with the `streamOff`_ function and release all buffers.\n> \n>  .. _streamOff: https://libcamera.org/api-html/classlibcamera_1_1V4L2VideoDevice.html#a61998710615bdf7aa25a046c8565ed66\n> \n> With that change,\n> \n> Reviewed-by: Jai Luthra <jai.luthra@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nI'll add the above change when applying.","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 12803C3237\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 30 May 2025 10:16:33 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B758168DA6;\n\tFri, 30 May 2025 12:16:32 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 92ABC68D9D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 30 May 2025 12:16:30 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id BE63F89A;\n\tFri, 30 May 2025 12:16:02 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"nPU4ia2+\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1748600163;\n\tbh=Las1Er1ir/+0W+N30QJYJz2jnZ9ohJRraOBnpfEbHB4=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=nPU4ia2+G6j7xIiHb5byyKZhr+6dGh1FVm4YW4RFxlqgCX1uQ7nXTD0U0d0K4ZA8G\n\tbmwg2F/K7xCqwX7TcvFpBhriSpruKSDaX++H3u9RnBY3IIHUrwkdoTikeI/Te13oWO\n\txEJcmOXrFeBdO5tcDu/ZCaM/jwZHVQB41HcQWjT0=","Date":"Fri, 30 May 2025 13:16:23 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jai Luthra <jai.luthra@ideasonboard.com>","Cc":"Niklas =?utf-8?q?S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>,\n\tlibcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH 2/2] guides: pipeline-handler: Update name of pipeline\n\thandler stop function","Message-ID":"<20250530101623.GV12492@pendragon.ideasonboard.com>","References":"<20250528121827.87844-1-niklas.soderlund@ragnatech.se>\n\t<20250528121827.87844-3-niklas.soderlund@ragnatech.se>\n\t<174859248771.13825.17851131487919115804@freya>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<174859248771.13825.17851131487919115804@freya>","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>"}}]