videofilter-derived plugin returning NULL caps

Guennadi Liakhovetski g.liakhovetski at gmx.de
Sat Jun 19 11:33:24 UTC 2021


Hi,

I used gst-element-maker to create a simple videofilter-derived plugin and
got one with my custom transform code, but it doesn't link into pipelines.
gst-inspect shows correctly src and sink caps:

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      video/x-raw
                 format: { (string)GRAY16_BE }
                  width: [ 1, 2147483647 ]
                 height: [ 1, 2147483647 ]
              framerate: [ 0/1, 2147483647/1 ]

  SRC template: 'src'
    Availability: Always
    Capabilities:
      video/x-raw
                 format: { (string)GRAY8 }
                  width: [ 1, 2147483647 ]
                 height: [ 1, 2147483647 ]
              framerate: [ 0/1, 2147483647/1 ]

but gst-launch fails to link with errors like

could not link videoconvert0 to testplugin-0

with PAD debugging indicating:

GST_CAPS gstutils.c:3110:gst_pad_query_caps:<testplugin-0:src> query returned EMPTY

I also tried to modify the capability registration code to static one like
in gstdodge.c from plugins-bad, that didn't help either. And comparing my
plugin to gstdodge there doesn't seem to be anything missing in mine. Can
it be something that I'm not doing correctly for compiling / linking? I'm
using command-line like

gcc -shared -o gsttestplugin.so gsttestplugin.o -lgstvideo-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0

Thanks
Guennadi


More information about the gstreamer-devel mailing list