Refer to http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-dynamic-pipelines.html, I tried to change udpsrc on gstreamer pipeline. But something was wrong, state of the pipeline cannot be changed to PLAYING after change udp source.
Below is sequence of changing udpsrc. The original pipeline bin consist of...
udpsrc - queue - tsdemux - queue - parser - videodecoder - queue videosink
- first, block src pad of udpsrc
- send eos event to queue (next to udpsrc)
- wait until eos message is received from bus.
- set state of udpsrc NULL, and remove udpsrc from pipeline bin.(unlink)
- Create new udpsrc with new source uri.
- link to queue
- change state to PLAYING.
Is there any mistake in this sequence? Thanks in advance.