[gst-devel] Error : App hangs when I try to test my source plugin

Tim-Philipp Müller t.i.m at zen.co.uk
Fri Jun 12 10:04:28 CEST 2009

On Wed, 2009-06-10 at 13:51 +0530, Krishnakumar Ramachandran wrote:

> I am trying to create a sample source plugin with 2 source pads. (My
> large idea is to include a demux also in the source plugin and at that
> point in time one pad will push audio and the other will push video.
> But as of now both pads are of type "ANY"). To test my plugin, I am
> trying to connect it to two filesinks (i.e each source pad is
> connected to the sink pad of a filesink). So the pipeline has 3
> plugins. My test source  and 2 filesinks. After creating the pipeline,
> I call gst_element_set_state with GST_STATE_PLAYING. After this
> initially all 3 of the plugins and pipeline move to READY state (I get
> bus_call callback with state changed confirmation). Then my source
> plugin changes to PAUSED state and then the entire app hangs. I have
> attached the sample app code I am working on. Please tell me what I am
> doing wrong here.

You might need a queue in front of each filesink, so that prerolling can
succeed, otherwise your source's streaming thread will push its first
buffer, filesink0 will preroll and block and filesink1 will never
receive a buffer because it will never get any data because the source's
thread is blocked in filesink0.


More information about the gstreamer-devel mailing list