[gst-devel] Loop detected in graph error

Wim Taymans wim.taymans at gmail.com
Fri Aug 21 16:32:00 CEST 2009


On Fri, 2009-08-21 at 05:50 -0700, rmkart wrote:
> Hi,
> Iam connecting 2 plugins which results in a loop error from GST.
> plugin1 has src1,src2,sink1,sink2 pads
> plugin2 has src,sink pad, sink pad will just consume data and it wont push
> to the next element, where in src pad Iam running a task thread to push to
> next element.
> 
> The link is:
> gst_pad_link(prevelement, plugin1.src1);
> gst_pad_link(plugin1.sink1, plugin2.sink);//Plugin2 sink will not push it to
> its source pad, it consumes data itsself
> gst_pad_link(plugin2.src,plugin1.src2);//plugin2 src has a seperate tak
> thread  that pushes to next element. Here GST  
>                                                        //thinks that plugin1
> and plugin2 are in loop eventhough they are 
>                                                        //connected in
> different pads
> gst_pad_link( plugin1.sink2, nextelement);
> How to overcome this, GST sees just with respect to element wise and not
> with respect to pad wise.

This is correct. There is also a bugreport here:
http://bugzilla.gnome.org/show_bug.cgi?id=475455

The solution for now is to make 2 elements in the same .so file and
share a common data structure to pass data around, much like how the
jackaudiosink/src elements work.

Wim

> Any ideas/pointers are appreciated.
> Thanks





More information about the gstreamer-devel mailing list