[PATCH v1 1/2] gstreamer: allocator: Recognize FrameBufferAllocator errors

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sun Dec 15 22:38:06 CET 2024


On Sun, Dec 15, 2024 at 06:20:57PM +0000, Barnabás Pőcze wrote:
> Another thing: FrameBufferAllocator does not consider it an error
> if the underlying Camera's `exportFrameBuffers()` returns.

I'd be worried if the function never returned :-) Did you mean if it
returns 0 ? Maybe we could return -ENOMEM in that case, and document
that 0 is not a valid return value ?

> This should be clarified.
> 
> 2024. december 15., vasárnap 19:18 keltezéssel, Barnabás Pőcze írta:
> 
> > `FrameBufferAllocator::allocate()` might return a negative error code,
> > but currently this is handled the same way as success. So instead
> > of continuing, abort the construction.
> > 
> > Signed-off-by: Barnabás Pőcze pobrn at protonmail.com
> > 
> > ---
> > src/gstreamer/gstlibcameraallocator.cpp | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/src/gstreamer/gstlibcameraallocator.cpp b/src/gstreamer/gstlibcameraallocator.cpp
> > index 7e4c904da..b0c84893a 100644
> > --- a/src/gstreamer/gstlibcameraallocator.cpp
> > +++ b/src/gstreamer/gstlibcameraallocator.cpp
> > @@ -214,7 +214,7 @@ gst_libcamera_allocator_new(std::shared_ptr<Camera> camera,
> > 
> > Stream *stream = streamCfg.stream();
> > 
> > ret = self->fb_allocator->allocate(stream);
> > 
> > - if (ret == 0)
> > + if (ret <= 0)
> > return nullptr;
> > 
> > GQueue *pool = g_queue_new();

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list