[gst-devel] Any ways to add/remove branches to/from a running pipeline

Aurelien Grimaud gstelzz at yahoo.fr
Thu Oct 8 00:09:22 CEST 2009


Le 07/10/2009 23:14, Shiping a écrit :
> Hi, there:
>
> I am trying to record live video, so a pipeline is setup to record video
> continuously.
>
> And during this process, I would like to preview the video from source.  So
> I add a tee to the recording pipeline and branch out for previewing.  When
> preview stopped, the branch was removed from the pipeline.
>
> I tried hard not to pause recording pipeline, but got all kinds of errors
> and unstable recording.  Currently all I can do is pause recording,
> inset/remove branch, and restart the whole pipeline.
>
> Of cause, I lost some frames in above process.
>
> My question is:  Is there a way to do it without pausing the recording?
>
> Any suggestions?
>
> Thanks
>
> Shiping
>    
Hi,

You should read 
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-block.txt
Dynamically changing a PLAYING pipeline should be done with pad block to 
prevent any error.
Block your tee sink pad, link/unlink your preview branch, unblock.

Aurelien




More information about the gstreamer-devel mailing list