<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
According to Aurelien's suggestion---> "Block your tee sink pad, link/unlink your preview branch, unblock."<br>This mean you should do "video source-->block-->tee" and not a "tee-->block-->preview bin/stream bin"<br><br><br>> Date: Tue, 13 Oct 2009 11:23:01 -0700<br>> From: shiping.li@gmail.com<br>> To: gstreamer-devel@lists.sourceforge.net<br>> Subject: Re: [gst-devel] Any ways to add/remove branches to/from a running pipeline<br>> <br>> <br>> Thanks Aurelien for your suggestion, and many thanks to all the answers<br>> posted here. I really appreciated. This makes me feel I am not alone,<br>> there are still many experts out there willing to provide help. :-)<br>> <br>> I tried the method, and here are the results:<br>> <br>> First let me put my pipeline here:<br>> <br>> video source -> tee -> record bin<br>> -> preview bin<br>> -> stream bin<br>> <br>> I tried to add preview bin when recode bin was running, first I blocked the<br>> tee->src to preview bin, BUT it stopped the whole pipeline, including record<br>> bin. I tried several times, but could not figure out why, and no error<br>> messages printed out when I set debug level to 3.<br>> <br>> Then I tried adding preview bin directly to running pipeline, it worked<br>> unexpectedly. I do not know why it worked, it should not according the<br>> documents you pointed. Removing preview bin from running pipeline was also<br>> working. <br>> <br>> Then when I tried to add stream bin, it became more difficult. I tried many<br>> methods - blocking, unblocking, directly adding to running pipeline, etc. <br>> None of them worked, and the most problems were like this:<br>> <br>> <udpsink0> warning: Internal data flow problem.<br>> WARN basesink gstbasesink.c:3279:gst_base_sink_chain_unlocked:<udpsink0><br>> warning: Received buffer without a new-segment. Assuming timestamps start<br>> from 0.<br>> INFO GST_ERROR_SYSTEM<br>> gstelement.c:1763:gst_element_message_full:<udpsink0> posting message:<br>> Internal data flow problem.<br>> INFO GST_ERROR_SYSTEM<br>> gstelement.c:1786:gst_element_message_full:<udpsink0> posted warning<br>> message: Internal data flow problem.<br>> <br>> So I am technically stuck here for a couple of days now.<br>> <br>> Could you guys please shad a light on me?<br>> <br>> Many thanks<br>> <br>> Shiping<br>> <br>> <br>> Aurelien Grimaud (elzz) wrote:<br>> > <br>> > Le 07/10/2009 23:14, Shiping a écrit :<br>> >> Hi, there:<br>> >><br>> >> I am trying to record live video, so a pipeline is setup to record video<br>> >> continuously.<br>> >><br>> >> And during this process, I would like to preview the video from source. <br>> >> So<br>> >> I add a tee to the recording pipeline and branch out for previewing. <br>> >> When<br>> >> preview stopped, the branch was removed from the pipeline.<br>> >><br>> >> I tried hard not to pause recording pipeline, but got all kinds of errors<br>> >> and unstable recording. Currently all I can do is pause recording,<br>> >> inset/remove branch, and restart the whole pipeline.<br>> >><br>> >> Of cause, I lost some frames in above process.<br>> >><br>> >> My question is: Is there a way to do it without pausing the recording?<br>> >><br>> >> Any suggestions?<br>> >><br>> >> Thanks<br>> >><br>> >> Shiping<br>> >> <br>> > Hi,<br>> > <br>> > You should read <br>> > http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-block.txt<br>> > Dynamically changing a PLAYING pipeline should be done with pad block to <br>> > prevent any error.<br>> > Block your tee sink pad, link/unlink your preview branch, unblock.<br>> > <br>> > Aurelien<br>> > <br>> > ------------------------------------------------------------------------------<br>> > Come build with us! The BlackBerry(R) Developer Conference in SF, CA<br>> > is the only developer event you need to attend this year. Jumpstart your<br>> > developing skills, take BlackBerry mobile applications to market and stay <br>> > ahead of the curve. Join us from November 9 - 12, 2009. Register now!<br>> > http://p.sf.net/sfu/devconference<br>> > _______________________________________________<br>> > gstreamer-devel mailing list<br>> > gstreamer-devel@lists.sourceforge.net<br>> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel<br>> > <br>> > <br>> <br>> -- <br>> View this message in context: http://www.nabble.com/Any-ways-to-add-remove-branches-to-from-a-running-pipeline-tp25794577p25878111.html<br>> Sent from the GStreamer-devel mailing list archive at Nabble.com.<br>> <br>> <br>> ------------------------------------------------------------------------------<br>> Come build with us! The BlackBerry(R) Developer Conference in SF, CA<br>> is the only developer event you need to attend this year. Jumpstart your<br>> developing skills, take BlackBerry mobile applications to market and stay <br>> ahead of the curve. Join us from November 9 - 12, 2009. Register now!<br>> http://p.sf.net/sfu/devconference<br>> _______________________________________________<br>> gstreamer-devel mailing list<br>> gstreamer-devel@lists.sourceforge.net<br>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel<br>                                            <br /><hr />Windows Live: Κρατήστε τους φίλους σας ενήμερους <a href='http://www.microsoft.com/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:el-gr:SI_SB_1:092009' target='_new'>για τις δραστηριότητές σας στο Internet.</a></body>
</html>