dynamic control of tee paths

Olivier Crête olivier.crete at collabora.com
Wed Jul 3 12:36:30 PDT 2013


On Wed, 2013-07-03 at 12:51 -0600, Brendan Long wrote:
> On 07/03/2013 09:14 AM, fabiano wrote:
> > In the meantime I also tried to link/unlink tee src pad and queue sink pad
> > with gst_pad_link() and gst_pad_unlink() functions.
> >
> > Also this solution seems work; do you see any drawback in this approach?
> It's just more complicated, and you need to remember to block and
> unblock pads. Either way works though.

In this case you don't need to pad block or to use a valve. To add
something, you can link to the tee pad as the last thing in you adding
operation, and it should work dynamically.

To remove, you first release the tee pad with
gst_element_release_request_pad(), and then you can just stop what is
after the tee without problem, as the tee will ignore an error. You
probably want to inject an EOS and wait for the EOS message from the
sink though.

Olivier Crête
olivier.crete at collabora.com

More information about the gstreamer-devel mailing list