changing state to paused hangs
Thomas Green
TGreen2 at Sorenson.com
Wed Feb 4 15:34:11 PST 2015
All,
I've the following pipeline
_ alsasink1
/
appsrc->capsfilter->queue->volume->audiorate->output-selector
\_ alsasink2
I select one of the sinks, start playing, and everything goes well. I decide to go from PLAYING->PAUSED. My routine does the pause like this:
gst_element_send_event(pipeline, gst_event_new_flush_start()); // flush any data that might be there'
gst_element_send_event(pipeline, gst_event_new_flush_stop()); // make things start accepting data again
gst_element_set_state(pipeline, GST_STATE_PAUSED);
The set_state call hangs and never returns. As I run it with GST_DEBUG=3 I watch each element successfully change from playing to paused in this order:
alsasink2, alsasink1, output-selector, audiorate, volume, queue, capsfilter. And that is it. The appsrc never tells me it is attempting to change state, let alone successfully making the state change. Is there a property that I have either set (or neglected to set) that would prevent the appsrc from changing state? I've also tried to do the set_state before flushing the pipeline, and there is no difference.
Tom
More information about the gstreamer-devel
mailing list