Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU) Orin 64G
• DeepStream Version7.1
I am experimenting with deepstream application.
In my test, the whole pipeline is implemented in a separate function called
int pipelineRunning(int argc, char *argv[]){}
. So whatever inside main() is implemented in pipelineRunning() function.
The start/stop main_loop is implemented in pipelineRunning function.
When I stop the whole pipeline using g_main_loop_quit(main_loop);
, all the following codes are processed to stop the pipeline.
done:
g_print ("Deepstream Quitting\n");
//Disconnect mqtt done
if (bus_watch_id) {
g_print("Returned, stopping playback\n");
gst_element_set_state(pipeline->pipeline, GST_STATE_NULL);
g_print("Deleting pipeline\n");
gst_object_unref(GST_OBJECT(pipeline->pipeline));
g_source_remove(bus_watch_id);
}
if (appCtx) {
if (appCtx->return_value == -1)
return_value = -1;
g_free (appCtx);
}
if (main_loop) {
g_main_loop_unref (main_loop);
}
if (ctx) {
g_option_context_free (ctx);
}
if (return_value == 0) {
g_print ("App run successful\n");
} else {
g_print ("App run failed\n");
}
gst_deinit ();
return return_value;
But when the pipeline is restart again, I have the following error.
creating multi source bin failed
Deepstream Quitting
App run successful
(deepstream-parallel-infer:6213): GStreamer-ERROR **: 16:38:01.632: GStreamer should not be deinitialized a second time.
Trace/breakpoint trap (core dumped)
How to solve the issue?