Loop detected in graph error

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Loop detected in graph error

rmkart
This post was updated on .
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. plugin2's 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(previouselement, plugin1.sink1);
gst_pad_link(plugin1.src1, plugin2.sink);//Plugin2 sink will not push it to its source pad, it consumes data itsself
gst_pad_link(plugin2.src,plugin1.sink2);//plugin2 src has a seperate task thread  that pushes to plugin1 element. Here GST thinks that plugin1 and plugin2 are in loop eventhough they are                   //connected in different pads
gst_pad_link( plugin1.src2, nextelement);
How to overcome this, GST sees just with respect to element wise and not with respect to pad wise.
Any ideas/pointers are appreciated.
Thanks
Reply | Threaded
Open this post in threaded view
|

Re: Loop detected in graph error

Wim Taymans
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


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel