Link/unlink tee branch from a pipeline

hongming0724 at 163.com hongming0724 at 163.com
Wed Sep 16 01:30:10 PDT 2015


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
                         / [ 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_cb,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.

Can you give me some tips .

    Thanks a lot.


hongming0724 at 163.com
 
From: SebastianDröge
Date: 2015-09-16 14:20
To: Discussion of the development of and with GStreamer
Subject: Re: Re: Link/unlink tee branch from a pipeline
On Mi, 2015-09-16 at 09:09 +0800, hongming0724 at 163.com wrote:
> Hi ,SebastianDröge
> I was encountered the same problems . I have experiment with the code
> from https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/
> when I using gst_pad_add_probe(pad,GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREA
> M,pad_block_cb,user_data, NULL) ,I found the pad_block_cb was called
> but the videostream was not blocked . The pad type
> GST_PAD_PROBE_TYPE_BLOCKING ,GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM was
> used at the same time. The playback is nomarl as usual.
> Can you tell me why the block pad do not block the videstream?
 
What do you mean with it does not block the videostream? It very
shortly blocks the video stream, changes things in the pipeline, and
then unblocks it again. You don't see an interruption of playback,
which is the whole point here.
 
If you keep the pad probe and don't remove it, the video stream will be
blocked until you remove it.
 
-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com
 
 
 
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150916/d5557c95/attachment.html>


More information about the gstreamer-devel mailing list