2016-03-10 37 views
1

我已经使用gstreamer为Kurento媒体服务器创建了自定义过滤器。 按照文档我已创建的.deb文件debuild -us -uc并安装它,因为它的在/usr/lib/x86_64-linux-gnu/kurento/modules/Kurento服务没有列出自定义过滤器.so文件

最初它是在装载的模块中列出生成libkmscustomfiltermodule.so但我删除这个.so并在此之后其未列出(sudo kurento-media-server --list

即使我恢复我的更改并重新启动kurent-media-server-6.0服务,这customfiltersudo 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 

任何想法为什么会发生这种情况?

回答

2

看来你的模块缺少一些符号。

要检测这个错误,创建一个试图加载模块并在那里实例化类的测试是一个好习惯。通过这种方式,您可以知道在使用mediaserver进行尝试之前模块是否已正确构建。

该测试在KMS-元件完成后,可以用它作为一个例子:当我插入gstreamer的相关的代码发生

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

+1

该负载模块错误,如果删除的GStreamer相关的代码,则代码工作正常。 kurento中是否有任何特定版本的gstremer? –

+0

@SagarPilkhwal如果错误在添加gstreamer的时候开始发生,也许你错过了一些在编译时添加一些库。我似乎缺少的符号是循环,但没有看到代码,我不能告诉你它在哪里定义。 – santoscadenas

+0

我会在一段时间后发布代码,与此同时我得到编译时错误无法找到'config.h'你可以告诉哪个'config.h'在这里是必需的 –

相关问题