[libcamera-devel] [PATCH v2 3/4] pipeline: rpi: Rename RPi::Stream::setExternalBuffer()
Naushir Patuck
naush at raspberrypi.com
Mon Sep 4 11:35:06 CEST 2023
Hi Kieran,
Thank you for the review.
On Mon, 4 Sept 2023 at 10:01, Kieran Bingham
<kieran.bingham at ideasonboard.com> wrote:
>
> Quoting Naushir Patuck via libcamera-devel (2023-07-25 09:55:39)
> > Since we don't distinguish between externally and internally allocated
> > dma bufs, rename this function to setExportedBuffer() to clearer on its
> > function.
> >
> > Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
> > Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
> > ---
> > src/libcamera/pipeline/rpi/common/pipeline_base.cpp | 2 +-
> > src/libcamera/pipeline/rpi/common/rpi_stream.cpp | 2 +-
> > src/libcamera/pipeline/rpi/common/rpi_stream.h | 2 +-
> > 3 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
> > index f244edc68a85..fc0c0ec3c53c 100644
> > --- a/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
> > +++ b/src/libcamera/pipeline/rpi/common/pipeline_base.cpp
> > @@ -764,7 +764,7 @@ int PipelineHandlerBase::queueRequestDevice(Camera *camera, Request *request)
> > * outside the v4l2 device. Store it in the stream buffer list
> > * so we can track it.
> > */
> > - stream->setExternalBuffer(buffer);
> > + stream->setExportedBuffer(buffer);
>
> I'm a bit confused.
>
> Aren't these (externally allocated buffers) 'imported' buffers ?
I use "exported" as they are exported from the application. I guess I
was trying to follow the convention from
PipelineHandler::exportFrameBuffer that gets called through the
FrameBufferAllocator route. I do kind of agree that for both sound
like "import" might be the better term, but I can live it with :-)
>
> Does this conflict with the 'RPi::Stream::setExportedBuffers() call?
Different prototype, but does exactly the same function - it adds one
or more buffers to the availableBuffers_ vector.
>
> That said - both setExportedBuffer and setExportedBuffers perform the
> same action (on each buffer) - so it seems this is expected behaviour...
>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
> There's a comment in Stream::prepareBuffers()
> /* Add these exported buffers to the internal/external buffer list. */
>
> Is that incorrect/redundant now? Is this list really tracking
> internal/external buffers?
No, I think that comment is still valid as availableBuffers_ holds all
the buffers (internal or externally allocated) that the stream may
handle during its lifetime.
If any of that doesn't make sense, please shout!
Cheers,
Naush
>
>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
>
>
> > }
> >
> > /*
> > diff --git a/src/libcamera/pipeline/rpi/common/rpi_stream.cpp b/src/libcamera/pipeline/rpi/common/rpi_stream.cpp
> > index 74b5abf447c7..e1858c731f57 100644
> > --- a/src/libcamera/pipeline/rpi/common/rpi_stream.cpp
> > +++ b/src/libcamera/pipeline/rpi/common/rpi_stream.cpp
> > @@ -76,7 +76,7 @@ unsigned int Stream::getBufferId(FrameBuffer *buffer) const
> > return it->first;
> > }
> >
> > -void Stream::setExternalBuffer(FrameBuffer *buffer)
> > +void Stream::setExportedBuffer(FrameBuffer *buffer)
> > {
> > bufferMap_.emplace(id_.get(), buffer);
> > }
> > diff --git a/src/libcamera/pipeline/rpi/common/rpi_stream.h b/src/libcamera/pipeline/rpi/common/rpi_stream.h
> > index ca591f99cc45..d1289c4679b9 100644
> > --- a/src/libcamera/pipeline/rpi/common/rpi_stream.h
> > +++ b/src/libcamera/pipeline/rpi/common/rpi_stream.h
> > @@ -76,7 +76,7 @@ public:
> > const BufferMap &getBuffers() const;
> > unsigned int getBufferId(FrameBuffer *buffer) const;
> >
> > - void setExternalBuffer(FrameBuffer *buffer);
> > + void setExportedBuffer(FrameBuffer *buffer);
> >
> > int prepareBuffers(unsigned int count);
> > int queueBuffer(FrameBuffer *buffer);
> > --
> > 2.34.1
> >
More information about the libcamera-devel
mailing list