I would like to connect a CUDA producer to a gstreamer pipeline. Right now, my CUDA producer repeatedly calls cuEGLStreamProducerPresentFrame to present egl frames to the gstreamer pipeline. The gstreamer pipeline looks something like this: nveglstreamsrc -> omxh264enc -> appsink. This works for exactly 63 frames, but after that, cuEGLStreamProducerPresentFrame fails with error code 999.
My guess is that the consumer (in this case, nveglstreamsrc), is not releasing the frame, so the egl stream queue grows until capacity, after which calls to cuEGLStreamProducerPresentFrame fail. Is this accurate? How can I fix this issue? I have already tried connecting the Argus api to the same gstreamer pipeline (as done in the gstVideoEncode sample) and it works without problems.