I have written some code that goes from Argus into CUDA using an EGLStream, and then I also have code that goes from Argus into H265 encoding based on the “frontend” example from the tegra_multimedia_api. However, when I enable both output streams, the CUDA Acquire fails, so it seems that the encoding is blocking CUDA from access. I call for capture requests in Argus, and then in the loop, I call the CUDA consumer.
I have the encoding in a separate thread, so I was wondering if there is another way to do this so that I can put the image into CUDA and encode it. Specifically, the CUDA processing needs to be done at framerate, while the encoding can lag behind if needed. I know that you can something similar using GStreamer, so I was wondering how I can do something related without putting the CUDA processing in a separate thread. I specifically need to use Argus for other reasons, so I cannot use GStreamer.