Link/unlink tee branch from a pipeline

hongming0724 at 163.com hongming0724 at 163.com
Thu Sep 17 03:04:59 PDT 2015


On Mi, 2015-09-16 at 16:30 +0800, hongming0724 at 163.com wrote:
> Hi Dröge ,
>      I have tested on my board as you said. it's just a quick short
> interval time.        
> I use tee element for dual video output and my pipeline like this :
>        gstreamer version :1.2.3

There were a few bugs related to pad probes that are only fixed in
1.4.0 and newer.

>                          / [ queue1 | v4l2sink1]   branch 1
>                tee                                                   
>                              video-output-bin
> 
>                         \ [ queue2 | v4l2sink2]    branch 2
> 
> All the elements are added into the video-output-bin.Now I wanna
> remove the v4l2sink1 and add it into pipeline again after a while
> when pipeline playback .
> 
> pad = gst_element_get_static_pad(queue1,"src");
> 
> gst_pad_add_probe(pad,GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM,pad_block_c
> b,user_data, NULL);
> 
> In the pad_block_cb callback I do not  remove the pad .
> 
> Theortically , the pad will block the branch1 video actually it did .
> but the video of branch 2  was also blocked. 
> 
> I donnot know how the queue1's source pad effect the branch 2's
> videostream.

If you block queue1, then the tee element will block. It will send data
to queue1, and wait there until queue1 is unblocked before it can send
data to queue2.

-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150917/d33799cd/attachment-0001.html>


More information about the gstreamer-devel mailing list