GStreamerプラグインを使用してカスタムのKurentoモジュールを作成しています。エンドポイントを拡張する「RtmpEndpoint」という名前の新しいモジュールを作成しました。
モジュールをビルドしてインストールし、使用するクライアントjs APIを生成できました。モジュールをロードすることができませんでしたしかし は、エラーログには示しています未定義シンボル:kms_element_get_type
(GST-プラグインスキャナ:3379):のGStreamer-WARNING *:プラグインの読み込みに失敗しました「の/ usr/libに/ x86_64の-のlinux-gnuのを/gstreamer-1.5/librtmpendpoint.so ':/usr/lib/x86_64-linux-gnu/gstreamer-1.5/librtmpendpoint.so:未定義のシンボル:kms_element_get_type私はkms_rtmp_endpoint_get_type()関数で定義された
ソースとヘッダーファイル、私はなぜこのエラーが起こっているのか分かりません、助けてください、ありがとう。
ヘッダファイル:
typedef struct _KmsRtmpEndpoint KmsRtmpEndpoint;
typedef struct _KmsRtmpEndpointClass KmsRtmpEndpointClass;
struct _KmsRtmpEndpoint
{
KmsElement element;
GstElement *h264depay;
GstElement *pcmudepay;
GstElement *flvmuxer;
GstElement *rtmpsink;
GstPad *videoPad, *audioPad;
gboolean silent;
};
struct _KmsRtmpEndpointClass
{
KmsElementClass parent_class;
};
GType kms_rtmp_endpoint_get_type (void);
とソースファイルの一部:
static GstStaticPadTemplate video_sink = GST_STATIC_PAD_TEMPLATE ("video",
GST_PAD_SINK,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp, "
"media = (string) \"video\", "
"clock-rate = (int) 90000, " "encoding-name = (string) \"H264\"")
);
static GstStaticPadTemplate audio_sink = GST_STATIC_PAD_TEMPLATE ("audio",
GST_PAD_SINK,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp, "
"media = (string) \"audio\", "
"payload = (int) " GST_RTP_PAYLOAD_PCMU_STRING ", "
"clock-rate = (int) 8000; "
"application/x-rtp, "
"media = (string) \"audio\", "
"encoding-name = (string) \"PCMU\", clock-rate = (int) [1, MAX ]")
);
#define kms_rtmp_endpoint_parent_class parent_class
G_DEFINE_TYPE (KmsRtmpEndpoint, kms_rtmp_endpoint, KMS_TYPE_ELEMENT);
これは質問に対する答えを提供しません。十分な[評判](https://stackoverflow.com/help/whats-reputation)があれば、[投稿にコメントする]ことができます(https://stackoverflow.com/help/privileges/comment)。代わりに、[質問者からの明確化を必要としない回答を提供する](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-代わりに)。 - [レビューの投稿](/レビュー/低品質の投稿/ 17717312) – waka