Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU): 3090
• DeepStream Version: 6.2
• JetPack Version (valid for Jetson only)
• TensorRT Version: 8.5.2
• NVIDIA GPU Driver Version (valid for GPU only): 525.89.02
• Issue Type( questions, new requirements, bugs): questions
• 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)
I refer to deepstream_test_rt_src_add_del.c to build runtime source re-add application. The whole application want to delete and re-add the same one file source by deleting and re-constructing different uri-decode-bin sources.
The deletion is working, but after the new uri-decode-bin is re-added, the applicatoin only haddles the first frame, and shows
nvstreammux: Successfully handled EOS for source_id=0
then it hangs up, but never sending stream-eos message from nvstreammux to the bus.
The flow of uri-decode-bin is
uri-decode-bin->(source,decodebin0->(typefind,qtdemux0,multiqueue0,h264parse0,capsfilter0,nvv4l2decoder0))
(…) is the beginning and the end of child elements.
The flow of the whole pipeline is
uri-decode-bin ! sink_0 nvstreammux ! nvinfer ! nvtracker ! nvstreamdemux src_0 ! nvvideoconvert ! nvdsosd ! fakesink
The following is the log and outpus of infer and tracker elements are omitted.
1.log (8.8 KB)
The logic of deletion and reconnection is when the GST_MESSAGE_EOS is received in bus_call
, the reconnect function added from g_idle_add
is invoked. In the reconnect function, sink_0
of nvstreammux is unreferenced and uri-decode-bin source is removed, the new uri-decode-bin source is added with the same fileSrc, relink to sink_0
of nvstreammux and set its state to GST_STATE_PLAYING.