I am using the Jetpack version 3.3 (JetPack-L4T-3.3-linux-x64_b39.run), since this is the latest available jetpack package for Jetson TX2. But this package is specified to use for L4T 28.2.
We are using custom camera board to connect our camera modules with TX2.
I have verified that the camera modules streaming properly with our v4l2 based application.
When tried with sample tegra multimedia applications, the error mentioned in the first post comes.
I am using Jetpack which is compatible with L4T with 28.2. Is it a problem?
I have used the reference application found in above mentioned post to check for basic streaming using the following command.
./camera_v4l2_cuda -d /dev/video0 -s 640x480 -f UYVY
But we face the following error when executing the application.
The fd retrieved in the start_capture function as follows is always zero.
ctx->enc->output_plane.dqBuffer(enc_buf, &buffer, NULL, 10);
fd = enc_buf.m.planes[0].m.fd;
This leads to the following error,
[ERROR] (NvV4l2ElementPlane.cpp:178) Output Plane:Error while DQing buffer: Broken pipe
[ERROR] (NvV4l2ElementPlane.cpp:257) Output Plane:Error while Qing buffer: Device or resource busy
nvbuf_utils:dmabuf_fd 0 mapped entry NOT found
Segmentation fault (core dumped)
However changing fd as follows eliminated the segmentation fault alone,
fd = outplane_fd[0];
Is it correct to assign the fd as above.
Also I couldn’t find much difference between 28.2.1 and 32.2.1 sample sources. Is it possible to explain the changes which we need to concentrate between two revisions.