out of memory using v4l2codecs on sunxi

Nicolas Dufresne nicolas at ndufresne.ca
Tue Oct 19 13:39:38 UTC 2021


Le mardi 19 octobre 2021 à 13:53 +0200, Belisko Marek via gstreamer-devel a
écrit :
> Dear Devs,
> 
> I have spent the last few days working with the gstreamer master that
> supports v4l2codecs to decode frames on VPU.
> It runs on an Allwinner A64 CPU wirk kernel 5.14. Brilliant work so
> far and I thank you for it!
> To test I compiled a small c utility that recreates a pipeline every
> 10s with alternating files.
> This runs well for several loops, then crashes with error message LINK.
> Code is based on playback-tutorial1.c, it uses playbin3 however.
> Either I have to handle the freeing of the pipeline differently (i had
> that checked by 3 people) or
> there is a bug in gstreamer that prevents the correct freeing of the pipeline?
> 
> Additionally I was trying to test endless loops with the EOS signal
> and seeking. That works well, but after 1000000 frames i get an error
> as well.
> Seems v4l2codes has a hard coded limit for the length of a stream.
> 
> I am on master branch commit 48474d3cf77f91702cc2219ea17ceed881c372ae

Please use main branch of gstreamer/ repo, we have moved to mono repo now.

> 
> Would be great if you could help me or point me in the right direction
> 
> Test code can be found here: https://pastebin.com/e9jx5m69
> Error logs here: https://pastebin.com/FiK4yGXm and also
> https://pastebin.com/SxWs7B9v

I think what matters is "MEDIA_IOC_REQUEST_ALLOC failed: Too many open files".
Perhpas we have some sort of FD leak triggers with your test code. I think you
have gathered enough info for a bug report.

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/new?issue

We can work together on getting that fixed. The first step is to reproduce on
gstreamer main branch, and then we'll try and figure-out what is happening.
Hopefully we can fix it by 1.20 release (we still have time).

> 
> Many thanks and BR,
> 
> marek




More information about the gstreamer-devel mailing list