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

Luciana Fujii Pontello luciana at holoscopio.com
Fri Apr 2 21:21:23 CEST 2010


Hello,

Just for the record, this has been solved (worked around actually) with
some help by removing also the colorspaces before and after the effect
and adding them again with the new effect.

There is a bug opened about this issue:
https://bugzilla.gnome.org/show_bug.cgi?id=614296

Thanks to everybody that helped me.

Luciana Fujii
Holoscópio Tecnologia - http://holoscopio.com

On Mon, 2010-02-15 at 22:33 +0300, Miron Kunz wrote:
> Hi,
> 
> 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. 
> 
> Thanks,
> Miron.
> 
> 
> 
> -----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





More information about the gstreamer-devel mailing list