Hi all,
I have the following pipeline which starts the capture from 5 cameras
gst-launch-1.0 \
nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM), width=3840, height=2160, framerate=20/1" ! fakesink \
nvarguscamerasrc sensor-id=1 ! "video/x-raw(memory:NVMM), width=3840, height=2160, framerate=20/1" ! fakesink \
nvarguscamerasrc sensor-id=2 ! "video/x-raw(memory:NVMM), width=3840, height=2160, framerate=20/1" ! fakesink \
nvarguscamerasrc sensor-id=3 ! "video/x-raw(memory:NVMM), width=3840, height=2160, framerate=20/1" ! fakesink \
nvarguscamerasrc sensor-id=4 ! "video/x-raw(memory:NVMM), width=3840, height=2160, framerate=20/1" ! fakesink
However this pipeline will throw the following error:
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
Which 2 cameras fail isn’t consistent between runs or reboots. And the capture from any camera individually works without any issues.
Also, if I start the cameras separately with a small delay between them, the capture works correctly. It also works if I only try to start 3 cameras.
Is there a fix for this issue other than adding a delay between the start of the different cameras?