diff options
-rw-r--r-- | ext/shout/gstshout.c | 45 |
1 files changed, 25 insertions, 20 deletions
diff --git a/ext/shout/gstshout.c b/ext/shout/gstshout.c index 72156e92e..1c2e6a9cc 100644 --- a/ext/shout/gstshout.c +++ b/ext/shout/gstshout.c @@ -26,11 +26,8 @@ static GstElementDetails icecastsend_details = { "An Icecast plugin", "Sink/Network", - "GPL", "Sends data to an icecast server using libshout", - VERSION, - "Wim Taymans <wim.taymans@chello.be>", - "(C) 2000", + "Wim Taymans <wim.taymans@chello.be>" }; static char *SHOUT_ERRORS[] = { @@ -90,6 +87,7 @@ sink_template_factory (void) } static void gst_icecastsend_class_init (GstIcecastSendClass *klass); +static void gst_icecastsend_base_init (GstIcecastSendClass *klass); static void gst_icecastsend_init (GstIcecastSend *icecastsend); static void gst_icecastsend_chain (GstPad *pad, GstData *_data); @@ -110,7 +108,8 @@ gst_icecastsend_get_type (void) if (!icecastsend_type) { static const GTypeInfo icecastsend_info = { - sizeof (GstIcecastSendClass), NULL, NULL, + sizeof (GstIcecastSendClass), + (GBaseInitFunc gst_icecastsend_base_init, NULL, (GClassInitFunc) gst_icecastsend_class_init, NULL, NULL, sizeof (GstIcecastSend), 0, (GInstanceInitFunc) gst_icecastsend_init, @@ -121,6 +120,15 @@ gst_icecastsend_get_type (void) } static void +gst_icecastsend_base_init (GstIcecastSendClass *klass) +{ + GstElementClass *element_class = GST_ELEMENT_CLASS (klass); + + gst_element_class_add_pad_template (element_class, sink_template_factory()); + gst_element_class_set_details (element_class, &icecastsend_details); +} + +static void gst_icecastsend_class_init (GstIcecastSendClass *klass) { GObjectClass *gobject_class; @@ -451,24 +459,21 @@ gst_icecastsend_change_state (GstElement *element) } static gboolean -plugin_init (GModule *module, GstPlugin *plugin) +plugin_init (GstPlugin *plugin) { - GstElementFactory *factory; - - factory = gst_element_factory_new("icecastsend", GST_TYPE_ICECASTSEND, &icecastsend_details); - g_return_val_if_fail(factory != NULL, FALSE); - - gst_element_factory_add_pad_template (factory, sink_template_factory ()); - - gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory)); - - return TRUE; + return gst_element_register (plugin, "icecastsend", + GST_RANK_NONE, GST_TYPE_ICECASTSEND); } -GstPluginDesc plugin_desc = { +GST_PLUGIN_DEFINE ( GST_VERSION_MAJOR, GST_VERSION_MINOR, "icecastsend", - plugin_init -}; - + "Sends data to an icecast server using libshout", + plugin_init, + VERSION, + "GPL", + GST_COPYRIGHT, + "libshout", + "http://developer.icecast.org/libshout/" +) |