Jetson Multimedia API package not upgraded after upgrading from JetPack 4.3 to JetPack 4.4

I’ve been trying to get some information from the camera through ICameraProperties of CameraDevice. As documented in Jetson Linux Multimedia API Reference , I should be able to access getMinAeRegionSize(). However, I got this error when compiling my script:

error: ‘class Argus::ICameraProperties’ has no member named ‘getMinAeRegionSize’; did you mean ‘getMaxAeRegions’?

I can confirm that my Jetson Nano Developer Kit correctly upgraded from JetPack 4.3 to JetPack 4.4 release following the Upgrade JetPack Guide. Also, the Jetson Linux Multimedia API is same with the Jetson Linux Multimedia API Reference, i.e. version 32.4.3 Release.

$ cat /etc/nv_tegra_release 
# R32 (release), REVISION: 4.3, GCID: 21589087, BOARD: t210ref, EABI: aarch64, DATE: Fri Jun 26 04:38:25 UTC 2020
$ sudo apt list | grep nvidia.*multimedia.*
nvidia-l4t-jetson-multimedia-api/stable,now 32.4.3-20200625213809 arm64 [installed]
nvidia-l4t-multimedia/stable,now 32.4.3-20200625213809 arm64 [installed]
nvidia-l4t-multimedia-utils/stable,now 32.4.3-20200625213809 arm64 [installed]
$ sudo apt show nvidia-l4t-jetson-multimedia-api
Package: nvidia-l4t-jetson-multimedia-api
Version: 32.4.3-20200625213809
Priority: standard
Section: Utils
Maintainer: NVIDIA Corporation
Installed-Size: 88,4 MB
Pre-Depends: nvidia-l4t-core (>> 32.4-0), nvidia-l4t-core (<< 32.5-0)
Depends: cuda-cudart-10-2, cuda-cudart-dev-10-2, libc6-dev, libglvnd-dev, libx11-dev, nvidia-l4t-camera (= 32.4.3-20200625213809), nvidia-l4t-multimedia (= 32.4.3-20200625213809), nvidia-l4t-multimedia-utils (= 32.4.3-20200625213809), tensorrt
Homepage: http://developer.nvidia.com/jetson
Download-Size: 70,4 MB
APT-Manual-Installed: yes
APT-Sources: https://repo.download.nvidia.com/jetson/t210 r32.4/main arm64 Packages
Description: NVIDIA Jetson Multimedia API is a collection of lower-level APIs that support flexible application development.
$ sudo dpkg -L nvidia-l4t-jetson-multimedia-api | grep CameraDevice\.h
/usr/src/jetson_multimedia_api/argus/include/Argus/CameraDevice.h
/usr/src/jetson_multimedia_api/argus/docs/doxygen/html/classArgus_1_1CameraDevice.html
/usr/src/jetson_multimedia_api/argus/docs/doxygen/html/group__ArgusCameraDevice.html

I’ve inspected the CameraDevice.h in /usr/src/jetson_multimedia_api/include/Argus/CameraDevice.h (or /usr/src/jetson_multimedia_api/argus/include/Argus/CameraDevice.h, they’re just symlink) in the device, it is pretty different with https://docs.nvidia.com/jetson/l4t-multimedia/CameraDevice_8h_source.html . I confirmed that the header file in my installation is same with https://docs.nvidia.com/jetson/archives/l4t-multimedia-archived/l4t-multimedia-3231/CameraDevice_8h_source.html .

What is going on here?

Trying to reinstall the nvidia-l4t-jetson-multimedia-api package not helping.

$ sudo apt remove nvidia-l4t-jetson-multimedia-api 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  efibootmgr fwupdate fwupdate-signed libfwup1 libllvm8
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  nvidia-l4t-jetson-multimedia-api
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 88,4 MB disk space will be freed.
(Reading database ... 153326 files and directories currently installed.)
Removing nvidia-l4t-jetson-multimedia-api (32.4.3-20200625213809) ...

$ sudo apt install nvidia-l4t-jetson-multimedia-api 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  efibootmgr fwupdate fwupdate-signed libfwup1 libllvm8
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  nvidia-l4t-jetson-multimedia-api
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 70,4 MB of archives.
After this operation, 88,4 MB of additional disk space will be used.
Get:1 https://repo.download.nvidia.com/jetson/t210 r32.4/main arm64 nvidia-l4t-jetson-multimedia-api arm64 32.4.3-20200625213809 [70,4 MB]
18% [1 nvidia-l4t-jetson-multimedia-api 15,7 MB/70,4 MB 22%]                                                                              19% [1 nvidia-l4t-jetson-multimedia-api 16,3 MB/70,4 MB 23%]                                                                              Fetched 70,4 MB in 59s (1.185 kB/s)                                 
Selecting previously unselected package nvidia-l4t-jetson-multimedia-api.
(Reading database ... 151715 files and directories currently installed.)
Preparing to unpack .../nvidia-l4t-jetson-multimedia-api_32.4.3-20200625213809_arm64.deb ...
Unpacking nvidia-l4t-jetson-multimedia-api (32.4.3-20200625213809) ...
Setting up nvidia-l4t-jetson-multimedia-api (32.4.3-20200625213809) ...

Looking in /usr/src/jetson_multimedia_api/include/Argus/CameraDevice.h still the same with https://docs.nvidia.com/jetson/archives/l4t-multimedia-archived/l4t-multimedia-3231/CameraDevice_8h_source.html.

Hi,
Please apply the patch:
https://elinux.org/Jetson/L4T/r32.4.x_patches
[argus_camera] fix user compile argus_camera application from the release sources causes segmentation fault (SIGSEGV)

@DaneLLL is it safe if I just replace whole “CameraDevice.h” with https://docs.nvidia.com/jetson/l4t-multimedia/CameraDevice_8h_source.html and “Settings.h” with https://docs.nvidia.com/jetson/l4t-multimedia/Settings_8h_source.html instead of doing it line-by-line referencing L4T R32.4.3 Breaks argus_camera and causes segmentation fault (SIGSEGV) ?
Or will you post those patched header files? I afraid hand editing those files line-by-line by myself may not exactly match the patch as supposed to be.

hello yahya_qlue,

this segmentation fault errors only occurred if you compile binaries from the release sources.
it’s due to the inconsistent between release sources and pre-built binary.
so, you may check and replace with those header files, just to make sure the header files update were included.
thanks