The deepstream_image_deocode_app blocked when use multisrc element as source

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU)
• DeepStream Version
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)
cuda 10.2
• Issue Type( questions, new requirements, bugs)
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

Hi,I try to run deepstream_image_deocode_app because we have requirement on doing image inference base on deepstream, I removed nvtiler,nvvideo-converter,nvdsosd and change sink element to fakesink because we dont need to show the inference result.
the code is here:
deepstream_image_decode_app.c (14.8 KB)

then i run the command:

./deepstream-image-decode-app /home/wjh/datas/imgs/folder1/%d.jpg

the folder has 93 jpeg images.

then I found the stream blocked:

but if i add two or more folder like this “./deepstream-image-decode-app /home/wjh/datas/imgs/folder1/%d.jpg /home/wjh/datas/imgs/folder1/%d.jpg” the stream run as normal.

why? is threre some bugs or sth I have missing?

No. You command line is OK.
You can use “export GST_DEBUG=v4l2videodec:5” command to enable more log to check the status.

GST_DEBUG=v4l2videodec:5 ./deepstream-image-decode-app /home/wjh/datas/imgs/folder1/%d.jpg 2>&1 |tee test.log

log snapshot:

full log:

test.log (16.8 KB)

BTW, the resolution of frame_index=26 image (26.jpg) is 1024X682, the resolution of frame_index 0-25 is 1920X1080.

Is the resolution leads to this problem? But why it can run as normal if I added 2 or more folders?

Seems the 25th or 26th jpg file has something wrong. Can you upload the 25th and 26th files for analysis?


the image from 20.jpg-30.jpg (11.1 MB)


It looks like compressed if upload the image directly.

I’ve tried all jpg files you sent with deepstream-image-decode-app, it works well, so the problem has nothing to do with the jpeg files and deepstream.

Since you have removed nvmultistreamtiler from the pipeline, please set the “enable-last-sample” property of fakesink to false.

All your jpg files works fine with deepstream_image_decode_app.c (15.0 KB)

It works! thanks, but Why I need to set this property? and why if this property is TRUE using 2 folders as inputs can work well but would be hang when using only one folder as input?

“enable-last-sample” property of fakesink will hold the last GstBuffer until new GstBuffer is available. The nvv4l2decoder and nvstreammux all work with buffer pool, so it is important to release GstBuffer ASAP to make the pipeline continue to work.