<div dir="ltr"><div>Thanks guys,<br><br>As far as I know  Gnonlin and GES will not work for me. I want to change dynamically and arbitrary the pipeline. Please, you correct me if I'm wrong.<br>I've not found streamsynchronizer for gst 0.10.36 neither.<br>
<br>I've tried  <a href="http://gstreamer-devel.966125.n4.nabble.com/change-quot-location-quot-of-filesrc-element-without-breaking-tcpserversink-connection-tt4661248.html#a4661273">http://gstreamer-devel.966125.n4.nabble.com/change-quot-location-quot-of-filesrc-element-without-breaking-tcpserversink-connection-tt4661248.html#a4661273</a>.<br>
This approach almost works in my's home PC (gentoo 64bit core i5 4gb ram)  the src is changing but the videos start seeked at the current running time.<br>In my work's PC (ubuntu 12.04 32bit core2duo 4GB RAM) the pipeline freezed completly when I stopped the filesrc/decoder.<br>
Another thing about this is that I Discarded the EOS, FLUSH_START, FLUSH_STOP and NEWGEMENT events but with GST_DEBUG=queue2:5<br>the queue seems to not discard the newgsegment events.<br>Also the videotestsrc approach that I described above (blocking the pad, sending EOS and so)  works in my home's PC but<br>
 freezed almost every time in my work's PC. Also, this didn't work with filesrc.<br><br>What is the correct approach to do this? What can I read in order to make it work?<br></div><div>Maybe I have to check the source code of gnonlin.<br>
</div><div><br>Note: I'm using gstreamer 0.10.36 and gstpython in both PCs<br></div>Note 2: I've read on the list that the only way to do this correctly is using gnonlin (i've asked this before) but also I've read that can be maded with the approach described above and i've been trying to make it work. Sorry if I'm insistent but i really want to know  this certainly. <br>
<br>Thanks for your replies, I've really apreciated it .</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/14 Tonu Jaansoo <span dir="ltr"><<a href="mailto:chain@bsd.ee" target="_blank">chain@bsd.ee</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi!<br>
<br>
Seems something similar that I have encountered.<br>
Try to unlink all removed elements, remove them from pipeline. Use gst_element_sync_state_with_parent(new_element) right after linking new elements.<br>
<span class="HOEnZb"><font color="#888888"><br>
Tonu.<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Sep 14, 2013, at 7:01 PM, Tim-Philipp Müller <<a href="mailto:t.i.m@zen.co.uk">t.i.m@zen.co.uk</a>> wrote:<br>
<br>
> On Wed, 2013-09-11 at 14:01 -0300, Lautaro Woites wrote:<br>
><br>
> Hi,<br>
><br>
>> I'm using gstreamer 0.10.36 and I have a pipeline like this:<br>
>><br>
>> filesrc ! decodebin2 ! valve ! queue2, ! videorate ! video_scale !<br>
>> xvimagesink<br>
>><br>
>> I'm trying to change the filesrc/decoder when the pipeline is on<br>
>> PLAYING state. I've tried the following:<br>
>><br>
>> 1) create the new filesrc and decoder<br>
>><br>
>> 2) close the valve<br>
>><br>
>> 3) set filesrc and decoder on NULL state<br>
>><br>
>> 4) remove the filesrc and decoder from the pipeline<br>
>><br>
>> 5) add the new filesrc and decoder to the pipeline<br>
>><br>
>> 6) link them and set to playing<br>
>><br>
>> This doesn't work for me (the video freezes when I remove the<br>
>> filesrc).<br>
>><br>
>> I've also tried to send a FLUSH_STOP event before step 6). This work<br>
>> better but:<br>
>><br>
>> * The sources have started to change but they hasn't started from the<br>
>> beginning. For example, if I change the filesrc in second 10, the new<br>
>> filesrc starts playing from second 10.<br>
>><br>
>> * and almost in every source change  the video freezes notoriously<br>
>><br>
>> I still don't know if this the correct/standard way to do this. Can<br>
>> someone help me?<br>
><br>
> You could have a look at gstreamer editing services and/or gnonlin.<br>
><br>
> There's also a streamsynchronizer element in the playback plugin in<br>
> -base, but if I remember correctly it's not exposed in 0.10, only in<br>
> 1.x. But it's what playbin uses internally for gapless playback.<br>
><br>
> Cheers<br>
> -Tim<br>
><br>
><br>
> _______________________________________________<br>
> gstreamer-devel mailing list<br>
> <a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</div></div></blockquote></div><br></div>