[gst-devel] Dynamically adding a filter to a video pipeline

Christophe Dehais christophe.dehais at gmail.com
Thu Sep 18 11:58:42 CEST 2008


Hi everyone!

I have this simple pipeline: videosrc ! identity ! videosink

(videosrc is a bin embedding videotestsrc or v4l2src and colorspace,
videosink is a bin embedding colorspace and xvimagesink)

I simply want to replace identity by a videofilter (e.g. edgetv),
while the pipeline is playing.

So I made a little test app (see attachments) and I guess I'm
following what's described in the design docs here:
http://webcvs.freedesktop.org/gstreamer/gstreamer/docs/design/part-block.txt?view=markup

except that I'm blocking the src pad synchronously.

It doesn't work because when unblocking back the videosrc source pad,
a negotiation problem occurs. If I replace 'identity' by
'shagadelictv' (which has the same in and out caps as edgetv), it
works fine.

So my question is two fold:
1) do I miss something in the design doc ?
2) how can I force the videosrc bin to renegociate with the rest of
the pipeline ?

thanks for any hints,
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dyn_pipeline.py
Type: text/x-python
Size: 3604 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080918/6ae0386c/attachment.py>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dyn_pipeline.xml
Type: text/xml
Size: 1470 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20080918/6ae0386c/attachment.bin>


More information about the gstreamer-devel mailing list