我使用gstreamer为Kurento Media Server创建了一个自定义过滤器。
根据文档,我创建了.deb文件debuild -us -uc
并安装了它,因为libkmscustomfiltermodule.so
生成了/usr/lib/x86_64-linux-gnu/kurento/modules/
最初它已列在已加载的模块中,但我删除了此.so
,之后未列出(sudo kurento-media-server --list
)
即使我还原了我的更改并重新启动了kurent-media-server-6.0
服务,customfilter
sudo kurento-media-server --list
在服务器日志中我看到这个日志:
ModuleManager.cpp:61 loadModule() Module /usr/lib/x86_64-linux-gnu/kurento/modules/libkmscustomfiltermodule.so cannot be loaded:
/usr/lib/x86_64-linux-gnu/libkmscustomfilterimpl.so.0: undefined symbol: _ZN7kurento6module15customfilter19CustomFilterImpl4loopE
知道为什么会这样吗?
答案 0 :(得分:2)
您的模块似乎缺少一些符号。
要检测此错误,最好创建一个尝试加载模块并在其中实例化类的测试。通过这种方式,您可以在mediaserver中尝试之前知道模块是否正确构建。
此测试以kms-elements完成,您可以将其作为示例使用:
https://github.com/Kurento/kms-elements/blob/master/tests/server/constructors.cpp