[gst-devel] Changing video effects while playing using pad blocking

Miron Kunz mironoz at mail.ru
Mon Feb 15 20:33:50 CET 2010


I had the same problem when using tee with 2 branches where each branch had different capabilities. The only way to solve it I found was to fixate capabilities with caps filter. This will prevent renegotiation of the caps and its propagation to the source resulting in the flow stop.

So try something like this:

v4l2src ! video/x-yuv... your caps filter here ! queue ! ffmpegcolorspace !effect ! ffmpegcolorspace !

Your case is a bit different from mine so it is yet to see if it helps you. 


-----Original Message-----
From: Luciana Fujii Pontello <luciana at holoscopio.com>
To: gstreamer-devel at lists.sourceforge.net
Date: Fri, 12 Feb 2010 16:37:57 -0200
Subject: [gst-devel] Changing video effects while playing using pad blocking

> Hi,
> I'm trying to apply effects to a video and change these effects while
> streaming. Someone suggested that I use pad blocking, and so I'm trying
> to using mostly this as my information font:
> http://cgit.freedesktop.org/gstreamer/gstreamer/tree/docs/design/part-block.txt
> Using this code http://codepad.org/JqSs1DFn to change elements I usually
> can change effects while streaming, but sometimes the pipeline just
> stops. In fact, it always stops when I change to an yuv effect from a
> rgb effect or vice-versa, and sometimes it stops with effects of the
> same type (but not exactly the same caps).
> I can apply, for instance, videoflip, and then navigationtest. But if I
> change to vertigotv next, the pipeline stops.
> I also asked about that and someone told me that the elements should
> handle this change in colorspace and that some element could be broken.
> The only elements I'm using right now are:
> v4l2src ! ffmpegcolorspace ! queue ! effect ! ffmpegcolorspace !
> autovideosink. My test aplication can be found in
> http://git.holoscopio.com/fujii/effect_test.git
> I really don't know where to look now. I'm not sure I'm changing the
> elements correctly, or if it is something with the elements I'm using.
> Can anyone point me a way? Maybe an example of pad blocking that can do
> something similar to what I'm doing?
> Thanks,
> -- 
> Luciana Fujii
> Holoscópio Tecnologia - http://holoscopio.com
> ------------------------------------------------------------------------------
> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
> http://p.sf.net/sfu/solaris-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

More information about the gstreamer-devel mailing list