[gst-devel] pipeline multiqueue waits for elements
mattias
barthel at tid.es
Thu Apr 16 11:57:55 CEST 2009
I try to understand the text from:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-multiqueue.html
_snip_
In addition, to prevent a non-linked stream from very quickly consuming
all available buffers and thus 'racing ahead' of the other streams, the
element must ensure that buffers and inlined events for a non-linked
stream are pushed in the same order as they were received, relative to
the other streams controlled by the element. This means that a buffer
cannot be pushed to a non-linked pad any sooner than buffers in any
other stream which were received before it.
_snip_
Does this mean that all buffers are synchronized? Or does the multiqueue
only wait until the first buffer of all flows and then lets them run
independently?
Thanks,
Mattias
mattias wrote:
> When I use multiqueue with two incomping flows I see that the 2 flows
> block
> until the sending pipeline starts to send. 1 flow is produced from
> videotestsrc and the other from udpsrc.
> Even though only 1 buffer was received on the udcpsrc part of the
> receiving pipeline, the videotestsrc part
> starts to run infinitely.
>
> It seems like the multiqueue element waits for 1 buffer on each input
> and then lets all
> flows run freely.
>
> How can the behavior of the multiqueue element be explained regarding
> this test?
>
> sending pipeline:
> gst-launch videotestsrc num-buffers=1 !
> video/x-raw-yuv,width=100,height=40,framerate=15/1,format="(fourcc)I420"
> ! udpsink host=localhost port=8011
>
>
> This receiving pipeline blocks until the sending pipeline starts and
> then only 1 buffer is dumped to the screen
> gst-launch videotestsrc ! multiqueue name=mq1 udpsrc port=8011 !
> mq1. mq1. ! fakesink dump=true mq1. ! fakesink
>
> If I let the other fakesink dump, it blocks until the sending pipeline
> starts and then a infinite number of buffers are dumped to the screen.
> gst-launch videotestsrc ! multiqueue name=mq1 udpsrc port=8011 !
> mq1. mq1. ! fakesink mq1. ! fakesink dump=true
>
>
>
> Thanks,
>
> Mattias
> --
> Mattias Frank Barthel
> Vía Augusta 177 08021 Barcelona (Spain)
> Video & Multimedia technologies
> TELEFÓNICA R&D
> T. 0034-93-365-3309
>
--
Mattias Frank Barthel
Vía Augusta 177 08021 Barcelona (Spain)
Video & Multimedia technologies
TELEFÓNICA R&D
T. 0034-93-365-3309
More information about the gstreamer-devel
mailing list