videofilter-derived plugin returning NULL caps
Guennadi Liakhovetski
g.liakhovetski at gmx.de
Sun Jun 20 08:30:42 UTC 2021
An update:
On Sat, 19 Jun 2021, Guennadi Liakhovetski via gstreamer-devel wrote:
> 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
It seems the query returns empty capabilities because the pad isn't
connected:
GST_PADS gstpad.c:4351:gst_pad_peer_query:<mlx90640-0:src> pad has no peer
So, have to figure out why it isn't connecting - still no clue.
Thanks
Guennadi
> 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
More information about the gstreamer-devel
mailing list