VideoFilter set_info or BaseTransform set_caps not called

Wacha Gábor wachag at
Mon Jul 15 18:15:14 UTC 2019

Dear developers,

I am relatively new to gstreamer plugin development. I am trying to create
a simple video filter with one source and one sink pad.

My video filter requires an internal buffer which has a size dependent on
the input and output image formats (width, height, pixel stride). We can
assume 24 bit packed RGB video format, but the width and the height is

As far as I understand, the allocation of the buffer can be done in my
overridden base_transform_start function.

However I need to know the width and the height of the input and output
video to allocate my buffers.
I've implemented set_info from VideoFilter and set_caps from BaseTransform
to know the negotiated video formats, however they are not called when I
start the pipeline with gst-launch:

gst-launch-1.0 -v videotestsrc
! video/x-raw,width=1280,height=720,format=rgb ! my_test_filter !
videoconvert ! autovideosink

What am I missing?

Gabor Wacha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list