Gstreamer 未定义符号:kms\u元素\u获取\u类型

Gstreamer 未定义符号:kms\u元素\u获取\u类型,gstreamer,kurento,Gstreamer,Kurento,我正在使用GStreamer插件创建自定义Kuranto模块,我创建了一个名为RtmpEndpoint的新模块,它扩展了端点。 我能够构建和安装模块,并生成要使用的客户端JSAPI。 但是,无法加载模块,错误日志显示: gst插件扫描程序:3379:GStreamer警告*:未能加载插件'/usr/lib/x86_64-linux-gnu/GStreamer-1.5/librtmpendpoint.so':/usr/lib/x86_64-linux-gnu/GStreamer-1.5/librt

我正在使用GStreamer插件创建自定义Kuranto模块,我创建了一个名为RtmpEndpoint的新模块,它扩展了端点。 我能够构建和安装模块,并生成要使用的客户端JSAPI。 但是,无法加载模块,错误日志显示:

gst插件扫描程序:3379:GStreamer警告*:未能加载插件'/usr/lib/x86_64-linux-gnu/GStreamer-1.5/librtmpendpoint.so':/usr/lib/x86_64-linux-gnu/GStreamer-1.5/librtmpendpoint.so:未定义符号:kms_元素\u get\u类型

我确实在源文件和头文件中定义了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);

也许您不应该在源文件中定义kms\u rtmp\u endpoint\u get\u类型,G\u define\u类型将自动生成它