how to change sources while pipeline is on PLAYING state?

Lautaro Woites lauchapc87 at gmail.com
Wed Sep 11 10:01:50 PDT 2013


Hi all again.

I'm using gstreamer 0.10.36 and I have a pipeline like this:

filesrc ! decodebin2 ! valve ! queue2, ! videorate ! video_scale !
xvimagesink

I'm trying to change the filesrc/decoder when the pipeline is on PLAYING
state. I've tried the following:

1) create the new filesrc and decoder

2) close the valve

3) set filesrc and decoder on NULL state

4) remove the filesrc and decoder from the pipeline

5) add the new filesrc and decoder to the pipeline

6) link them and set to playing

This doesn't work for me (the video freezes when I remove the filesrc).

I've also tried to send a FLUSH_STOP event before step 6). This work better
but:

* The sources have started to change but they hasn't started from the
beginning. For example, if I change the filesrc in second 10, the new
filesrc starts playing from second 10.

* and almost in every source change  the video freezes notoriously

I still don't know if this the correct/standard way to do this. Can someone
help me?

 Thanks in advance
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130911/bffd11eb/attachment-0001.html>


More information about the gstreamer-devel mailing list