1

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

なぜこれが起こっているのですか?

4

1 に答える 1

2

モジュールにいくつかのシンボルが欠けているようです。

このエラーを検出するには、モジュールをロードしてそこでクラスをインスタンス化するテストを作成することをお勧めします。このようにして、メディアサーバーでモジュールを試す前に、モジュールが正しくビルドされているかどうかを確認できます。

このテストは kms-elements で行われ、例として使用できます。

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

于 2016-03-10T11:48:23.980 に答える