Thanks a lot for the answer. I&#39;ll take your advise into account.<br><br>To follow up the issue I have to say that I have improved my recording by changing the valves <br>the moment the pipeline is on pause, these way I don&#39;t stop the initialization and I don&#39;t have to<br>


take measures such as unblocking, flushing or whatever. The only problem I have left it&#39;s that some<br>data is able to pass the valve before the dropping is on. Further the valves will work properly.<br><br>I&#39;ve been thinking on using the output-selector element - along with a fakesink as one of the <br>


selections -, but I couldn&#39;t make it work, neither findany suitable example around the web.<br><br>About changing elements dynamically, I agree, it would bring new problems but I may use it on<br>future improvements of the pipeline. I was able to get it work following the instructions on this link <br>


from GST: <a href="http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-block.txt" target="_blank">http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-block.txt</a><br><br>Anyway, I have learnt that many of the problems related to the states can be solved forcing flushing<br>


 events but I need to know where - and if- a blockade has happened, so I will have to research on how<br>gstreamer messages works.<br><br>Cheers<br><font color="#888888">Hector</font><br><br><div class="gmail_quote">2011/3/16 4ernov <span dir="ltr">&lt;<a href="mailto:4ernov@gmail.com">4ernov@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hello, Hector,<br>
<div class="im"><br>
&gt; Hi everybody,<br>
&gt;<br>
&gt; I&#39;m new in GStreamer but trying to move faster through it.<br>
&gt;<br>
&gt; I&#39;m recording video with basic pipelines and now I&#39;m trying to use valves to<br>
&gt; regulate the record (stop/pause/cut...).<br>
&gt; The problem is that the pipeline won&#39;t pass Prerolling when the valves are<br>
&gt; initialised dropping.<br>
<br>
</div>I&#39;d say using valves is not the best way for your case as it&#39;s very<br>
easy to drop some useful data (e.g. events or buffers) with them.<br>
Dynamic changes in pipeline is better but they also have a bunch of<br>
problems you need to solve.<br>
<div class="im"><br>
&gt;<br>
&gt; I&#39;ve also try to change sinks on-the-move (Playing) but it didn&#39;t work as I<br>
&gt; expected.<br>
&gt;<br>
&gt; Any tips?<br>
<br>
</div>If I get it right what you&#39;re trying to do is to change the pipeline<br>
dynamically. Well, it&#39;s not the easiest part of work with GStreamer, I<br>
should say. There&#39;re several posts in the list about it here and<br>
there, but to sum everything гз here&#39;re the problems one need to solve<br>
to change the pipeline dynamically in proper way:<br>
1. Branch synchronization if some of the sinks is in sync (e.g.<br>
streaming video to ximagesink and capturing it to file<br>
simultaneously): it&#39;s necessary to use queue for each branch.<br>
2. To reconnect elements on the fly one need to look after the<br>
remaining pipeline. It&#39;s done by either blocking pads of changing<br>
branch or using valves (so dangerous).<br>
Besides that you should take into account that with every problem the<br>
pipeline is stalled hard without any messages even on DEBUG log level.<br>
It make the debugging difficult very much. Also these instructions<br>
work quite stable only for PLAYING state and have many issues for<br>
others. For example, if you block pads in PAUSED state, it will stall<br>
the pipeline forever as no buffers are streamed through the pipeline<br>
in this state. And finally, remember that elements are not guaranteed<br>
to be reusable i.e. if you create pipeline from scratch, set it to<br>
PLAYING state, then set it to READY and again to PLAYING, it&#39;s not<br>
guaranteed that the behavior is the same as if you create a new one<br>
instead of setting the existing pipeline to READY and then to PLAYING.<br>
<br>
So, there&#39;s some hope that it would be changed in the future releases,<br>
but now it&#39;s not easy at all to change the pipeline dynamically.<br>
<br>
Hope it helps.<br>
</blockquote></div><br>