使用
GST_DEBUG=5 gst-inspect-1.0 --plugin ./libgstmyplugin.so
发现提示
Element factory metadata for 'gstmyessrc' has no valid long-name field
猜测是缺少了什么东西没设置,后来观察其他插件编写规则,发现是缺少了metadata的设置:
static void gst_my_essrc_class_init(GstMyEsSrcClass* klass)
{
//change to element and set meta data , if lack of this, gst-inspect will fail with
//" Element factory metadata for 'gstmyessrc' has no valid long-name field"
GstElementClass *element_class = GST_ELEMENT_CLASS(klass); //for others
gst_element_class_set_static_metadata(element_class,
"[meta data]Filter Demo in libgstmyplugin.dll",
"[meta data]MyPlugin/Filter Demo",
"[meta data]Shows the basic structure of a plugin",
"[meta data]xxx <xxx@xxx.com>");
}
注意,这里必须转化成 element 类才能使用gst_element_class_set_static_metadata。