[gst-devel] Losing prerolled buffers

Iain * iaingnome at gmail.com
Tue May 23 04:11:03 CEST 2006


On 5/23/06, Thomas Vander Stichele <thomas at apestaart.org> wrote:

> There's a lot of unknowns to answer the question just by looking at
> code.  For example, does your channel splitter's signal callback get
> fired from the streaming thread ? If it doesn't, your streaming thread
> may happily be pushing buffers over the cliff like lemmings before you
> link something to the pad.  Just an example of course.

I suspect this may be the case, as the splitter is receiving the
new-segment event, and is passing it on, but these events never make
it to the sink either.

The splitter is linked into the pipeline in the new-decoded-pad signal
of the decodebin, and once it receives its caps in the set_caps
function it creates the new pads. I would assume those all occur in
the streaming thread, but I could be wrong.

What would the best course of action be? For the splitter to store up
buffers that it needs to pass onto the sink when all the pads have
been created? Stopping the streaming thread somehow until all the pads
are created?

thanks
iain




More information about the gstreamer-devel mailing list