[gst-devel] Pad block/element switch does not work properly

Fredrik Persson frepe at bredband.net
Sun Nov 12 12:54:02 CET 2006

> > I'm expecting, here, to see that one videotestsrc element shall be
> > replaced with another videotestsrc element when the user clicks the
> > "change" button in the GUI. This does not happen. Instead, the first
> > videotestsrc gives me an error message:
> I haven't tested this, but from looking at the code, I'm expecting this
> to give a warning about "trying to dispose an element that is not in the
> NULL state" (see below).  You also don't set the replacement source to
> the PLAYING state, so I don't expect this to show anything after the
> replace happens anyways.

What is the proper procedure? To block the pad, unlink the
element-to-be-removed, put the e-t-b-r in NULL state, remove it from the
pipeline, create the new element, add it to the pipeline, link it, and
unblock the pad that I blocked in the beginning?

You see, part-block.txt doesn't speak about changing any states
whatsoever, so I try to figure out what procedure is the correct one in
order to accomplish switching source element in a pipeline.

/Fredrik Persson

More information about the gstreamer-devel mailing list