My application uses the Nano and an ArduCam IMX477 camera to capture images when signaled from a host computer connected through a network connection. This works great for awhile. But it seems that once the camera takes about 450 images it then fails.
I have a thread that is constantly grabbing images to keep the buffer clear. Then when signaled I grab the image and save it at a jpg. I use the same name and just overwrite the image each time.
I’m outputting a log and the last time it failed I got this in the log:
(Argus) Error InsufficientMemory: (propagating from src/eglstream/ImageImpl.cpp, function copyTonvBuffer(), line 553)
(Argus) Error InvalidState: Failed to copy to NvBuffer (in src/eglstream/ImageImpl.cpp, function createNvBuffer(), line 374)
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD… Exiting…
NvBufferGetParams failed for src_dmabuf_fd
nvbuffer_transform Failed
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD… Exiting…
CONSUMER: ERROR OCCURRED
[ WARN:1 ] global /home/nvidia/host/build_opencv/nv_opencv/modules/videoio/src/cap-gstreamer.cpp (1757) handkeMessage OpenCV | GStreamer warning: Embedded video playback halted; module nvarguscamerasrc0 reported: DSICONNECTED
GST_ARGUS: Cleaning Up
Then when it tried to get the image:
(camera:27414): GStreamer-CRITICAL **: 11:32:57.760:
Trying to dispose element pipline0, but it is in READ instead of the NULL state.
You need to explicitly set elements to the NULL state before
dropping the final reference, to allow them to clean up.
This problem may alse be caused by a refcounting bug in the
application or some element.
Any help would be greatly appreciated. I have no clue as to why it stops or even what these error messages mean.
Thanks,
Fred