How to add new sourcebins to nvstreammux when all sourcebins are removed previously?

Please provide complete information as applicable to your setup.

• Hardware Platform - GPU
• DeepStream Version - 6.0
• Issue Type - questions

The attached pipeline image is implemented combining both deepstream_test4 and deepstream_reference_apps-runtime_source_add_delete samples.

Initially, rtsp sourcebins are added to nvstreammux and removed at runtime. Once all the sources are removed from the nvstreammux it outputs following warning.

SourceBin:0 STATE NULL CHANGE SUCCESS
Released StreamMux Pad: 0x7ed755a840
WARNING from element stream-muxer: No Sources found at the input of muxer. Waiting for sources.
Warning: No Sources found at the input of muxer. Waiting for sources.

Then another source is added and the pipeline stops with the queue element returning following error.

ERROR from element tee-que1: Internal data stream error.
Error details: gstqueue.c(988): gst_queue_handle_sink_event (): /GstPipeline:main-pipeline/GstQueue:tee-que1:
streaming stopped, reason error (-5)
Returned from main loop, stopping playback

How to gracefully handle this use case without pipeline going into error state?

please provide simplified code to reproduce, including configuration file.

runtime_source_add_delete.zip (11.9 KB)

Simplyfied code and config files can be found inside runtime_source_add_delete.zip. It’s a modified version of the deepstream_test_rt_src_add_del.c.
Two new elements are added to the pipeline namely tee and queue,

  • source bin → file-source ! h264-parser ! nvh264-decoder
  • Rest of the pipeline → streammux ! nvinfer ! nvtracker ! tee ! queue ! nvtiler ! nvvideoconvert ! nvosd ! nveglsink
    Initially one sourcebin is created and we wait until it becomes EOS. Then that sourcebin is removed from the nvstreammux. After that we try to add a new sourcebin to the nvstreammux. Then the above mentioned error is produced from the queue element.

I’ve also added the gst-debug-log of the pipeline with log level 4 enabled.

gst-debug-log.txt (463.3 KB)

  1. why I did not see “SourceBin:0 STATE NULL CHANGE SUCCESS”?
  2. it crash after video finished, need to narrow down this issue.

Did you run this sample inside DeepStream-6.0:devel docker container? I’m afraid the crash is due to dependency mismatch. Also can you please use this command to run.
./deepstream-test-rt-src-add-del file://$DS_SDK_ROOT/samples/streams/sample_1080p_h265.mp4

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)

• 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)

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.