Hi JerryChang, thanks for your help. I’ve run the tests you asked, and the results are at at the bottom, however, I’m not primarily concerned with the hardware errors. I’m more interested in why I can’t release the cameras and restart Argus. I can release the objects (Argus::UniqueObject.reset()), but when I try to recreate the capture session, I get:
(Argus) Error InvalidState: CaptureProvider destroyed (in src/api/CameraProviderImpl.cpp, function createCaptureSession(), line 189)
While I’m releasing the objects, I sometimes get:
(Argus) Error InvalidState: Unknown stream deleted. (in src/api/CaptureSessionImpl.cpp, function outputStreamDeleted(), line 650)
I don’t know if that’s related. It’s entirely possible that the stream hadn’t yet connected to the producer.
Any thoughts on why I can’t restart Argus? Is the Argus source available somewhere?
Here are the results of the tests you mentioned. To me, it looks OK, except that I would expect the frame rate to be 60, which is the frame rate of the sensor at 1080p. (Also, there doesn’t appear to be a sensor-id parameter to nvarguscamerasrc).
$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
<<<<<<<<<<<<<<<<<<<<<<< 21.78 fps
<<<<<<<<<<<<<<<<<<<<<< 21.78 fps
<<<<<<<<<<<<<<<<<<<<<< 21.71 fps
<<<<<<<<<<<<<<<<<<<<< 21.69 fps
<<<<<<<<<<<<
$ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=30/1, format=NV12' ! filesink location=test.raw
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 0
Output Stream W = 1920 H = 1080
seconds to Run = 0
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:04.575952116
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
Setting pipeline to NULL ...
Freeing pipeline ...
WARNING Argus: 10 client objects still exist during shutdown:
548224145024 (0x7f78000c48)
548224145184 (0x7f78015658)
548224145344 (0x7f780156e8)
548224145504 (0x7f780157b8)
548224147520 (0x7f78000cd8)
548224199296 (0x7f78000da8)
548224201888 (0x7f78000e88)
548224390160 (0x7f78000f38)
548224421648 (0x7f78001088)
548224422544 (0x7f78000b00)