[gst-devel] GnlComposition Signals

Timothy Braun braunsquared at gmail.com
Tue Dec 14 19:34:28 CET 2010


Thank you Edward.  That makes sense.

I have a custom bin with ghosted pads in a gnlsource.  I'm currently
ghosting the pad upon creation and then adding the final internal link once
decodebin2 tells me it's ready.  On occasion, I run into a data flow error,
but not consistently.  I'm thinking it may be related to the order in which
I'm adding pads.  Is it better to ghost the bins pad after decodebin is
connected? or does this order not matter?

Also, if I'm ghosting the pad, do I have to manually remove it once
streaming of that source is complete?  If so, what signal should I be
listening for from gnlsource/gnlcomposition to know that its completed it's
duties?

Thanks again.

Best,
Tim

On Tue, Dec 14, 2010 at 5:42 AM, Edward Hervey <bilboed at gmail.com> wrote:

> On Mon, 2010-12-13 at 17:33 -0500, Timothy Braun wrote:
> > Hey Everyone,
> >   So I have a gnlcomposition which, for the matter of depicting the
> > situation, has 5 sources.  3 sources play for 30 seconds followed by
> > the remaining 2 sources for another 30 seconds.  This should produce a
> > 1 minute video.  The composition has a videomixer in a gnloperation to
> > mix the sources for final output.
> >
> >   I'm running into a situation where the pipeline gets stuck during
> > the transition from 3 sources to 2 sources.  It seems the video mixer
> > is trying to send a seek event to all it's sink pads, which fails on
> > the pad which no-longer has a source.  During my tests, the
> > gnlcomposition will happily create new pads, ie. changing the order so
> > it's 2 sources followed by 3 sources works fine.  But the opposite
> > doesn't seem to be true, the gnlcomposition doesn't remove unused pads
> > to it's operations.
> >
> >   This brings me to the question of, is there a signal I'm not
> > handling appropriately?  If so, any pointers on which one I should be
> > listening for?
>
>   If the element you put in a gnloperation has dynamic sink pads, the
> gnloperation will call gst_element_request_pad() and
> gst_element_release_request_pad() when needed.
>  videomixer alone should work fine in those cases. If you have put a
> custom element with ghostpads, make sure you check when they are
> added/removed and properly request/release the targets of those
> ghostpads.
>
>   Edward
>
> >
> >   Thanks,
> >   Tim
> >
> ------------------------------------------------------------------------------
> > Lotusphere 2011
> > Register now for Lotusphere 2011 and learn how
> > to connect the dots, take your collaborative environment
> > to the next level, and enter the era of Social Business.
> > http://p.sf.net/sfu/lotusphere-d2d
> > _______________________________________________ gstreamer-devel mailing
> list gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
>
>
> ------------------------------------------------------------------------------
> Lotusphere 2011
> Register now for Lotusphere 2011 and learn how
> to connect the dots, take your collaborative environment
> to the next level, and enter the era of Social Business.
> http://p.sf.net/sfu/lotusphere-d2d
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20101214/72b0b2a7/attachment.htm>


More information about the gstreamer-devel mailing list