[gst-devel] problem while pushing data to multiple srcpads.

Vinayak vinayak.pane at gmail.com
Fri Feb 2 11:32:56 CET 2007

> > Which exactly state of transitions makes the srcpads on element
> > inactive ?
> > Do I have to make them active by "gst_pad_activate_push(pad, TRUE)" ?
> >
> Pads become active in the element READY->PAUSED state change and
> inactive again in PAUSED->READY. The FLUSHING flag is set on the pad so
> that any push/pull on the pad will return GST_FLOW_WRONG_STATE.
> gst_pad_set_active (pad, TRUE) is the function.

Yes, I added the gst_pad_set_active() code in the corresponding transitions.

> >         >
> >         >    gst_pad_push (srcpads[i], outbuf);
> >         > }
> >
> >         The return value of _push should tell you about the reason for
> >         the
> >         failure. You also need to pass this return value upstream
> >         (possibly
> >         combining the return values of all pads).
> >
> > Yes, I using combined return. But this gst_pad_push never returns
> > after pushing, Infact the data is never pushed & never received on the
> > peer end. It just hangs.
> If that is the case then I think the dataflow is just blocked in the
> sink as the preroll buffer. Maybe you forget to add queues after the
> srcpads to give all sinks a chance to receive a buffer?

Queue is for the purpose of buffering ? Is there anyway we can make this
work with using queue element ?
Cause, if I use the queue element in between my whole idea of connecting
my_filters & my_splitter plugins goes waste.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20070202/2e40e7d4/attachment.htm>

More information about the gstreamer-devel mailing list