setting pipeline to GST_STATE_PLAYING in callback fails

dlw dlwalter at protonmail.com
Wed Jan 20 20:19:31 UTC 2021


I have a camera pipeline streaming to a udp sink.  I am tee'ing this stream 
to RidgeRuns interpipesink (having the same issue with intervideosink as 
well).  The video streams fine. 

I create a second pipeline for writing to file. In my main() function I 
simply call 

GstElement* pipeline_rec = gst_pipeline_new("pipeline_rec"); 

and create a timeout to turn recording on/off. 

g_timeout_add(5000, cb_record, pipeline_rec); 

In the callback I add the recording bin to the pipeline made up of an 
interpipesrc, queue, omxh264enc, mp4mux and a filesink. 

In the callout I set the pipeline to GST_STATE_PLAY but it always returns 
GST_STATE_CHANGE_FAILURE. 

The following is the dot file of the pipeline right after I set it to 
GST_STATE_PLAY. 

https://i.imgur.com/HCCm9Z7.png

Note: 
If I add the recording bin to the pipeline in main() and set to
GST_STATE_PLAY 
it has no problem running.  My issue seems to be when I set to playing 5 
seconds later in the callback.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list