Hi
I’m trying to create Argus::CaptureSession
with 6 cameras to capture synchronized frames.
Each camera are Leopard LI-IMX490-GMSL2, and connected to Leopard LI-XNX-BOX-GMSL2.
Jetpack version is 32.5.1 and Leopard’s driver is installed. And each camera works correctly.
v4l2-ctl --list-devices
show following.
$ v4l2-ctl --list-devices
vi-output, imx490 30-001b (platform:15c10000.vi:0):
/dev/video0
vi-output, imx490 30-001c (platform:15c10000.vi:1):
/dev/video1
vi-output, imx490 31-001b (platform:15c10000.vi:2):
/dev/video2
vi-output, imx490 31-001c (platform:15c10000.vi:3):
/dev/video3
vi-output, imx490 32-001b (platform:15c10000.vi:4):
/dev/video4
vi-output, imx490 32-001c (platform:15c10000.vi:5):
/dev/video5
But, when I called ICameraProvider::createCaptureSession
with 3 or more cameras, It returns null pointer and status=3(STATUS_UNAVAILABLE).
I could create only 2 cameras CaptureSession with following pairs. Any other combinations were failed.
- video0 + video1
- video2 + video3
- video4 + video5
Is this behavior driver related issue or libArgus limitation?
Here is reproduction code.
multicam_session.cpp (1.2 KB)
To compile code, run following.
$ g++ -o multicam_session -I/usr/src/jetson_multimedia_api/argus/include \
-L/usr/lib/aarch64-linux-gnu/tegra \
-lnvargus_socketclient
Test example
$ multicam_session 0 1 # create CaptureSession with video0 and video1
createCaptureSession was succeeded
$ multicam_session 0 2 # create CaptureSession with video0 and video2
Failed to create CaptureSession: 3
Regards