Gst-launch-1.0 have SIGSEGV errors, when using 2 usb cameras

• Hardware Platform : Jetson Nano 4GB
• DeepStream Version: 5.1
• JetPack Version: 4.5.1
• TensorRT:7.1.3
• Issue Type: bugs

gst-launch-1.0 have error of SIGSEGV, when using 2 usb cameras.

This is pipeline.

$ gst-launch-1.0 v4l2src device=/dev/video0 io-mode=2 ! \
'image/jpeg, width=1472, height=736, framerate=30/1' ! \
nvv4l2decoder mjpeg=1 ! \
nvvideoconvert !  \
m.sink_0 v4l2src device=/dev/video1 io-mode=2 ! \
'image/jpeg, width=1472, height=736, framerate=30/1' ! \
nvv4l2decoder mjpeg=1 ! \
nvvideoconvert !  \
m.sink_1 nvstreammux name=m width=1472 height=736 batch-size=2 num-surfaces-per-frame=2 ! \
nvmultistreamtiler rows=2 columns=1 width=1472 height=1472 ! \
nvvideoconvert ! \
nvegltransform ! \
nveglglessink

This is result, Caught SIGSEGV

Setting pipeline to PAUSED ...

Using winsys: x11 
Opening in BLOCKING MODE
Opening in BLOCKING MODE 
Opening in BLOCKING MODE
Opening in BLOCKING MODE 
Opening in BLOCKING MODE
Caught SIGSEGV

Check devices.

$ v4l2-ctl --list-devices
Insta360 Air (usb-70090000.xusb-2.3):
	/dev/video1

Insta360 Air (usb-70090000.xusb-2.4):
	/dev/video0

Check formats.

$ v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
	Index       : 0
	Type        : Video Capture
	Pixel Format: 'MJPG' (compressed)
	Name        : Motion-JPEG
		Size: Discrete 1472x736
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 2176x1088
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 3008x1504
			Interval: Discrete 0.033s (30.000 fps)

	Index       : 1
	Type        : Video Capture
	Pixel Format: 'H264' (compressed)
	Name        : H.264
		Size: Discrete 1920x960
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)
		Size: Discrete 2560x1280
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.042s (24.000 fps)
			Interval: Discrete 0.050s (20.000 fps)

I can’t successfully load two USB cameras with gst-launch-1.0, is there any way to fix this?

Please do not set “num-surfaces-per-frame” with nvstreammux, it is for special camera only, and it does not support multiple streams.

If gst-launch-1.0 use H264, same errors.

$ gst-launch-1.0 v4l2src device=/dev/video0 ! \
'video/x-h264, width=1920, height=960, framerate=30/1' ! \
nvv4l2decoder ! \
m.sink_0 \
nvstreammux name=m batch-size=2 width=1920 height=1080 ! \
nvmultistreamtiler rows=1 columns=2 width=1280 height=720 ! \
nvvideoconvert ! \
nvdsosd ! \
nvegltransform ! \
nveglglessink v4l2src device=/dev/video1 ! \
'video/x-h264, width=1920, height=960, framerate=30/1' ! \
nvv4l2decoder ! \
m.sink_1

this is result.

Setting pipeline to PAUSED ...

Using winsys: x11 
Opening in BLOCKING MODE
Opening in BLOCKING MODE 
Opening in BLOCKING MODE
Opening in BLOCKING MODE 
Opening in BLOCKING MODE
Caught SIGSEGV

I updated my pipeline

$ gst-launch-1.0 v4l2src device=/dev/video0 io-mode=2 ! \
'image/jpeg, width=1472, height=736, framerate=30/1' ! \
nvv4l2decoder mjpeg=1 ! \
nvvideoconvert !  \
m.sink_0 \
v4l2src device=/dev/video1 io-mode=2 ! \
'image/jpeg, width=1472, height=736, framerate=30/1' ! \
nvv4l2decoder mjpeg=1 ! \
nvvideoconvert !  \
m.sink_1 \
nvstreammux name=m width=1472 height=736 batch-size=2 ! \
nvmultistreamtiler rows=2 columns=1 width=1472 height=1472 ! \
nvvideoconvert ! \
nvegltransform ! \
nveglglessink

But I had same errors.

Setting pipeline to PAUSED ...

Using winsys: x11 
Opening in BLOCKING MODE
Opening in BLOCKING MODE 
Opening in BLOCKING MODE
Opening in BLOCKING MODE 
Opening in BLOCKING MODE
Caught SIGSEGV
#0  0x0000007f9a0fad5c in waitpid ()
#1  0x0000007f9a1362a0 in g_on_error_stack_trace ()
#2  0x0000005586abcc3c in ?? ()
#3  0x0000000000008600 in ?? ()

The pipeline of not using nvv4l2decoder.

$ gst-launch-1.0 v4l2src device="/dev/video0" ! \
'image/jpeg, width=1472, height=736, framerate=30/1' !\
jpegdec ! \
nvvideoconvert ! \
'video/x-raw(memory:NVMM)' ! \
m.sink_0 \
nvstreammux name=m batch-size=2 width=1472 height=736 ! \
nvmultistreamtiler rows=1 columns=2 width=1472 height=1472 ! \
nvvideoconvert ! \
nvdsosd ! \
nvegltransform ! \
nveglglessink sync=0 v4l2src device="/dev/video1" ! \
jpegdec ! \
nvvideoconvert ! \
'video/x-raw(memory:NVMM)' ! \
m.sink_1 

This pipeline run correctly.