I find add source example in GitHub - NVIDIA-AI-IOT/deepstream_reference_apps: Samples for TensorRT/Deepstream for Tesla & Jetson runtime_source_add_delete example.
P1 pipeline
create_source_bin
create_source_bin
-------------------> nvstreammux->pgie->nvtracker->mqttsink
create_source_bin/
create_source_bin/
In P1 I can dynamically add or delete source .It work well.
P2 pipeline:
create_source_bin-------------------------------------------------------create_rtmp_sink
create_source_bin-------------------------------------------------------create_rtmp_sink
-------------------> nvstreammux->pgie->nvtracker->nvstreamdemux->
create_source_bin-------------------------------------------------------create_rtmp_sink
create_source_bin-------------------------------------------------------create_rtmp_sink
In P2 I can dynamically delete source and sink .When I add source and sink ,it print error at add sorce code
code:
gst_bin_add(GST_BIN(pipeline), source_bin);
GstStateChangeReturn state_return =
gst_element_set_state (g_source_bin_list[i], GST_STATE_PLAYING);
switch (state_return)
{
case GST_STATE_CHANGE_SUCCESS:
g_print (“Source STATE CHANGE SUCCESS\n\n”);
i++;
break;
case GST_STATE_CHANGE_FAILURE:
g_print (“Source STATE CHANGE FAILURE\n\n”);
break;
case GST_STATE_CHANGE_ASYNC:
g_print (“Source STATE CHANGE ASYNC\n\n”);
state_return =
gst_element_get_state (g_source_bin_list[i], NULL, NULL, GST_CLOCK_TIME_NONE);
i++;
break;
case GST_STATE_CHANGE_NO_PREROLL:
g_print (“Source STATE CHANGE NO PREROLL\n\n”);
break;
default:
break;
}
print Source STATE CHANGE NO PREROLL
How can add or delete one rtsp source and rtmp sink in runtime.
• Hardware Platform (Jetson / GPU)
• DeepStream Version5.0 DP
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)