Argus: createCaptureSession for more than 3 synchronized cameras not possible

Hi,

We have 6 synchronized VGA cameras on the TX1 and trying to create a single capture session for all of them. However the call to createCaptureSession fails to create a valid session when adding more than 3 cameras to the camerasToUse. Is this an API limitation?

Code looks like:

std::vector <CameraDevice*> camerasToUse;
for(int i = 0; i < CAM_NUM; ++i)
{
    camerasToUse.push_back(m_cameraDevices[i]);
}

m_singleSession = Argus::UniqueObj<Argus::CaptureSession>(
            m_iCameraProvider->createCaptureSession(camerasToUse));
if (!m_singleSession)
    ORIGINATE_ERROR("Failed to create CaptureSession"); //error when CAM_NUM > 3

Thanks

hello nzkspdr,

had to launch your senors via Argus individually to verified that third camera works?
thanks

Hi Jerry, Yes they all work fine individually.

hello nzkspdr,

may i know which JetPack release you’re working on?
there is API limitation with R28.1 that argus have known issue to create capturesession for >= 5 sources in single session.
please try to launch your multiple cameras with multiSensor sample code.
thanks

Hi Jerry,

We are using JetPack 3.0 (L4T r27.1). Will using multiple sessions lose the ability to have synchronized cameras? Why would anyone want single session or multiple sessions anyway?

Thanks

hello nzkspdr,

there is limitation to create more than 5 camera sources in single session.
please integrate your drivers to JetPack-3.1 (r28.1) and working with multiple sessions for your six cameras use-case.
you may also implement the timestamp comparison mechanism for the multiple camera synchronization.
thanks