Why tee will freeze the pipeline?

Tim Müller tim at centricular.com
Fri Dec 4 03:12:03 PST 2015


On Fri, 2015-12-04 at 16:49 +0600, Yakov Sudeikin wrote:

Hi,

> http://pastebin.com/tWGsELib
> 
> This is a dot file.
> 
> I added a tee element and the pipeline is stuck in READY.
> 
> But both branches (ximagesink, rtmpsink) will play if used alone
> without tee.
> 
> What prevents it from playing both branches at once?

You need a queue in both branches after the tee, so add a queue before
videoconvert ! ximagesink as well.

If you don't tee will push to videoconvert which will push to
ximagesink which will block as it is prerolled, waiting for the
pipeline to go to playing. The pipeline however will now wait for all
sinks to have data, but tee can't push data to the second branch
because it's stuck in the first one in preroll. The queue fixes that.

Cheers
 -Tim

-- 
Tim Müller, Centricular Ltd - http://www.centricular.com




More information about the gstreamer-devel mailing list