[gst-devel] Dynamically adding and removing branches of a tee...

Stefan Kost ensonic at hora-obscura.de
Tue Jul 21 20:23:43 CEST 2009


machinegodzilla schrieb:
> Hi,
> 
> Is it possible to add or remove elements to/from a tee dynamically?
> 
> My pipeline looks like that:
> 
>                  /  [ queue | decodebin | autovideosink ]          
> (playing_branch)
> filesrc | tee 
>                  \  [ queue | filesink ]                                 
> (recording_branch)
> 
> When I start the pipeline only the playing_branch is connected. After a
> while I connect the recording_branch in the following way:
> 
> gst_bin_add( GST_BIN(pipeline), recording_branch );
> gst_element_link( tee, recording_branch );
> gst_element_set_state( recording_branch, GST_STATE_PLAYING );

i think you need to:
* request a pad from tee
* set it blocked
* link recording branch
* set it to playing
* unset pad-block

Stefan

> 
> This, however, results only in a 0 bytes file being created and nothing
> else.
> 
> Is there anything missing here, or is this approach wrong?





More information about the gstreamer-devel mailing list