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

Barnabás Pőcze pobrn at protonmail.com
Sun Dec 15 22:41:36 CET 2024


2024. december 15., vasárnap 22:38 keltezéssel, Laurent Pinchart <laurent.pinchart at ideasonboard.com> írta:

> 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 ?

Yes, "returns 0" is what I wanted to write.


Regards,
Barnabás Pőcze

> 
> > 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