streaming using jpegenc halts after a short delay

I am streaming a raspberry pi camera using the following command

/usr/bin/gst-launch-1.0 nvarguscamerasrc ! ‘video/x-raw(memory:NVMM),width=1280, height=720, framerate=10/1, format=NV12’ ! nvjpegenc ! tcpserversink port=5200 host=0.0.0.0 buffers-min=50000

It halts after 10 - 20 seconds with the following messages

(Argus) Error BadParameter: (propagating from src/eglstream/ImageImpl.cpp, function initialize(), line 382)
(Argus) Error BadParameter: (propagating from src/eglstream/ImageImpl.cpp, function copyToNvBuffer(), line 440)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:476 IImageNativeBuffer not supported by Image.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:177 (propagating)

It does not matter if a client is attached to tcpserversink

I see the same issue on two different devices.

Hi,
Not sure but the error looks like the camera source is not stable. Need further test to get more information. Please break down the pipeline to see if the issue still happens:

gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=1280, height=720, framerate=10/1, format=NV12' ! fakesink
$ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=1280, height=720, framerate=10/1, format=NV12' ! nvjpegenc ! fakesink
$ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=1280, height=720, framerate=10/1, format=NV12' ! nvv4l2h264enc ! fakesink

The same error occurred on the two different setups using a Jetson Nano and raspberry Pi Camera I own.
This occurred using the SD image 32.3.1 . I installed a copy of the SD image 32.2.3 and the same pipeline worked properly on both sets of hardware.

Hi,
It looks to be a regression from the description. We will check and update.

1 Like

Hi,
On r32.3.1, please use the attachment.
r32_3_TEST1_libnvjpeg.zip (146 KB)

Hi DaneLLL,

I am seeing the issue kdkirmse reported, but in my case with TX2 and L4T 32.3.1. I replaced the libnvjpeg.so binary, but now I am getting a segfault.

$ gst-launch-1.0 nvarguscamerasrc ! nvjpegenc ! fakesink 
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3840 x 2160 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 16,000000; Exposure Range min 16000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 0 
   Output Stream W = 3840 H = 2160 
   seconds to Run    = 0 
   Frame Rate = 29,999999 
GST_ARGUS: PowerService: requested_clock_Hz=27216000
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
Caught SIGSEGV
#0  0x0000007f861b0048 in __GI___poll (fds=0x556ca0b8e0, nfds=547711865456, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
#1  0x0000007f862bce40 in  () at /usr/lib/aarch64-linux-gnu/libglib-2.0.so.0
#2  0x000000556c878300 in  ()
Spinning.  Please run 'gdb gst-launch-1.0 15120' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.

This is important for us, since we were using the nvjpegenc element in a JetPack 4.2.2 without any problem and now we did the porting for 4.3.

Thanks in advance.

-Adrian

Hi,
We have refreshed the attachment in #5
Please try again.