[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