Reorder buffers from different src pad

Tim-Philipp Müller t.i.m at zen.co.uk
Sun Aug 25 15:15:21 PDT 2013


On Sun, 2013-08-25 at 20:10 +0000, Demeyer Jonathan wrote:

Hi Jonathan,

> I'm trying to find an element for the following pipeline :
> 
>                     / filterA -> processingA \
> src -> tee                                                   reorder
> -> sink
>                     \ filterB -> processingB /
> 
> The "reorder" plugin will be there to reorder buffers based on their
> timestamp. It will simply compare buffers on both branches and decide
> which one it has to send first.
> In the example, filterA and filterB drop buffers alternatively.
> ProcessingA and processingB can have different "processing time". A
> buffer arriving first in the tee and taking the A branch may arrive
> after a later one taking the B branch. The element has to wait for the
> buffer coming from A.
> 
> Does this plugin already exist ? (the question is for a video flow but
> it can also be signal agnostic)
> I saw "funnel" but this plugin doesn't reorder buffers (AFAIU).

I'm not aware of such an element, but it should be fairly easy to write.
It's basically like a muxer. You can just use GstCollectPads, which take
care of waiting for buffers, and then decide which one you want to pick
and push out.

Out of curiosity - can you tell us a bit more about the underlying
functionality, what this is for?

 Cheers
  -Tim




More information about the gstreamer-devel mailing list