1

我使用 gstreamer 为 Kurento 媒体服务器创建了一个自定义过滤器。根据文档,我创建了 .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

知道为什么会这样吗?

4

1 回答 1

2

您的模块似乎缺少一些符号。

要检测此错误,最好创建一个尝试加载模块并在其中实例化类的测试。这样您就可以在媒体服务器中尝试之前知道您的模块是否正确构建。

这个测试是在 kms-elements 中完成的,你可以用它作为例子:

https://github.com/Kurento/kms-elements/blob/master/tests/server/constructors.cpp

于 2016-03-10T11:48:23.980 回答