[gst-devel] Problem using request pads

Albert Costa costa_albert at yahoo.fr
Tue Jan 8 10:13:08 CET 2008

Hi All,
I'm trying to understand a problem I encounter with request pads plugin. I've derived my own plugin (videooverlay) from videomixer code. As input, I have 1..N sinks on which the buffers contain video frame + other data. It takes the video as background and does some overlay using the extra data.
My pipeline runs as:
gst-launch-0.10 filesrc location=mymovie.avi ! decodebin ! ffmpegcolorspace ! tee name=tee1 ! queue ! video_process ! videooverlay name=overlay ! queue ! ffmpegcolorspace ! directdrawsink tee1. ! queue ! video_process ! overlay.

(here video_process is my plugin that analyses the video and send a buffer containing videoframe + data)

My problem is that when one of the tee branches is heavily loaded (i..e. it takes time to analyse a frame), then the whole pipeline hangs. As if no more buffers were sent to the overlay plugin. It uses collected pads. I have tried to change my plugin, setting _chain function to each sink pad. Here I receive the first 2 buffers, then it hangs for 30sec before I get the new ones, and it finally crashes (even if my process plugin does nothing)..

How can I make sure that buffers are sent continuously ? There is very little documentation on how request pads should be used...


Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail http://mail.yahoo.fr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080108/961d5d99/attachment.htm>

More information about the gstreamer-devel mailing list