Argus iCameraProperties->getBasicSensorModes returns error 64 on Jetpack 4.4 production release

I noticed our Argus based application is exiting with an error attempting to query getBasicSensorModes. I noticed this after switching from the Jetpack 4.4 develper preview to the production release.

The return status is always 64, which isn’t one of the status codes listed in the Types.h enumeration list.

I can reproduce this with the 09_camera_jpeg_capture running a stock Jetpack 4.4 production image on a TX2 development board. Here’s the output:

[INFO] (NvEglRenderer.cpp:110) <renderer0> Setting Screen width 640 height 480
Error generated. main.cpp, execute:392 Failed to get sensor modes
(Argus) Error InvalidState:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function streamEventThread(), line 135)
(Argus) Error InvalidState:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function streamEventThreadStatic(), line 177)

If I add a printf to print the status returned I see the same 64 value I see with my application.

I don’t think it’s hardware related because I can swap the SOM with another that’s running the Jetpack 4.4 developer preview and it works correctly.

I don’t see any patches at which look relevant.

I appreciate any suggestions about how to resolve or workaround this.

1 Like

Could you try the attached binary. Just remove .txt and change mode +x
I can run it on my J4.4 TX2 device.
Also please apply the patch from here L4T R32.4.3 Breaks argus_camera and causes segmentation fault (SIGSEGV)

camera_jpeg_capture.txt (560.4 KB)

Thank you for the response @ShaneCCC

I can confirm that works for me.

I’ve applied this to my jetson_multimedia_api directory argus/include, did a make clean and make of the 09_camera_jpeg_capture application. However I still see the same issue. I didn’t build argus_camera from source in this case, I just installed the 4.4 production image. Is there something else I need to do to be able to successfully build the 09_camera_jpeg_capture application (and mine) from source and reproduce the binary you shared?

Did you get those source for J4.4 by sdkmanager to build the binary?

Yes, this is what I’ve been using.
Can you share the source you used to build the binary you attached? It must be different in some way.

Nevermind, it was the include/Argus/CameraDevice.h change from L4T R32.4.3 Breaks argus_camera and causes segmentation fault (SIGSEGV) which was needed to fix this. My first attempt to patch this didn’t work. When I hand patched the header file I can no longer reproduce this.