Deepstream 5.0 multistream processing, pipeline got interrupted and exited

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) GPU
• DeepStream Version 5.0
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only) 440.64

Based on the sample deepstream_imagedata_multistream, I created an application to process multiple rtsp streams. I noticed if in the callback there is a long delay like 20 seconds or longer, it likely interrupted the pipeline and terminated.

What is the maximum tolerable delay in the callback function? In case it exceeds that limit, how to recover from that situation?

The callback will hold GstBuf which will block the pipeline. So the tolerable delay is “as soon as possible”.

Thanks @Fiona.Chen.

I understand it’s better to complete the work in the callback, yet “as soon as possible” is not that helpful.

What if the pipeline is blocked too long, let’s say it could be blocked until next frame, so that not all frames could be processed properly, will some frames be dropped so the pipeline could be rebuilt from some frame again? Or the pipeline will be delayed more and more until it gets terminated after a while?

What will happen depends on the whole pipeline. If there is no plugin in the pipeline who will do anything special, the pipeline will be clocked until the callback finished. But if there is any plugin who will do some specific things when there is no input, the behave will impact the whole pipeline.