[libcamera-devel] [PATCH 1/3] Documentation: Update code examples to match Request related changes

Daniel Semkowicz dse at thaumatec.com
Fri Jun 17 09:02:23 CEST 2022


Hi Jacopo,

On Thu, Jun 16, 2022 at 12:46 PM Jacopo Mondi <jacopo at jmondi.org> wrote:
>
> Hi Daniel,
>
> On Wed, Jun 15, 2022 at 06:25:59PM +0200, Daniel Semkowicz via libcamera-devel wrote:
> > - Camera::createRequest() now returns unique_ptr instead of raw pointer
> > - Request::BufferMap key type is now const
>
> As a general comment: all your patches are missing your Signed-off-by.
> Just 'git commit -s' to add it automatically.
>

Oh, sorry I missed that. I will add it in the updated version.

> On this patch, we have received a very similar one
> https://patchwork.libcamera.org/patch/16207/
>
> > ---
> >  Documentation/guides/application-developer.rst | 12 ++++++------
> >  1 file changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/Documentation/guides/application-developer.rst b/Documentation/guides/application-developer.rst
> > index 16bea9c4..6ab8b7e5 100644
> > --- a/Documentation/guides/application-developer.rst
> > +++ b/Documentation/guides/application-developer.rst
> > @@ -308,7 +308,7 @@ the camera.
> >
> >     Stream *stream = streamConfig.stream();
> >     const std::vector<std::unique_ptr<FrameBuffer>> &buffers = allocator->buffers(stream);
> > -   std::vector<Request *> requests;
> > +   std::vector<std::unique_ptr<Request>> requests;
> >
> >  Proceed to fill the request vector by creating ``Request`` instances from the
> >  camera device, and associate a buffer for each of them for the ``Stream``.
> > @@ -316,7 +316,7 @@ camera device, and associate a buffer for each of them for the ``Stream``.
> >  .. code:: cpp
> >
> >         for (unsigned int i = 0; i < buffers.size(); ++i) {
> > -           Request *request = camera->createRequest();
> > +           std::unique_ptr<Request> request = camera->createRequest();
> >             if (!request)
> >             {
> >                 std::cerr << "Can't create request" << std::endl;
> > @@ -332,7 +332,7 @@ camera device, and associate a buffer for each of them for the ``Stream``.
> >                 return ret;
> >             }
> >
> > -           requests.push_back(request);
> > +           requests.push_back(std::move(request));
> >         }
> >
> >  .. TODO: Controls
> > @@ -410,7 +410,7 @@ images.
> >
> >  .. code:: cpp
> >
> > -   const std::map<Stream *, FrameBuffer *> &buffers = request->buffers();
> > +   const std::map<const Stream *, FrameBuffer *> &buffers = request->buffers();
> >
>
> Which does not include this hunk
>
> I think we can merge Tommaso's one as it has been sent before and you can
> rebase on that one ?
>

Yes, sure. We can do it this way.

Best regards
Daniel Semkowicz

> Thanks
>    j
>
> >  Iterating through the map allows applications to inspect each completed buffer
> >  in this request, and access the metadata associated to each frame.
> > @@ -517,8 +517,8 @@ and queue all the previously created requests.
> >  .. code:: cpp
> >
> >     camera->start();
> > -   for (Request *request : requests)
> > -       camera->queueRequest(request);
> > +   for (std::unique_ptr<Request> &request : requests)
> > +       camera->queueRequest(request.get());
> >
> >  Start an event loop
> >  ~~~~~~~~~~~~~~~~~~~
> > --
> > 2.34.1
> >


More information about the libcamera-devel mailing list