diff options
author | Iain Holmes <iain@prettypeople.org> | 2003-11-02 00:27:53 +0000 |
---|---|---|
committer | Iain Holmes <iain@prettypeople.org> | 2003-11-02 00:27:53 +0000 |
commit | ad1a55bd75541dd1d8bb1ffd487595633d4951ed (patch) | |
tree | ce2cea4db36d8aef2d159f5ab5a3b658d7d5c854 /ext/mikmod/gstmikmod.c | |
parent | b509505b49d74330372632463a2c4d7b2e3980d8 (diff) |
Mikmod fixed
Original commit message from CVS:
Mikmod fixed
Diffstat (limited to 'ext/mikmod/gstmikmod.c')
-rw-r--r-- | ext/mikmod/gstmikmod.c | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/ext/mikmod/gstmikmod.c b/ext/mikmod/gstmikmod.c index 0a67ae8e..c2d61ff9 100644 --- a/ext/mikmod/gstmikmod.c +++ b/ext/mikmod/gstmikmod.c @@ -29,11 +29,8 @@ GstElementDetails mikmod_details = { "MikMod", "Codec/Audio/Decoder", - "GPL", "Module decoder based on libmikmod", - VERSION, "Jeremy SIMON <jsimon13@yahoo.fr>", - "(C) 2001", }; @@ -100,7 +97,7 @@ mikmod_sink_factory (void) return template; } - +static void gst_mikmod_base_init (gpointer g_class); static void gst_mikmod_class_init (GstMikModClass *klass); static void gst_mikmod_init (GstMikMod *filter); static void gst_mikmod_set_property (GObject *object, guint id, const GValue *value, GParamSpec *pspec ); @@ -121,7 +118,7 @@ gst_mikmod_get_type(void) { if (!mikmod_type) { static const GTypeInfo mikmod_info = { sizeof(GstMikModClass), - NULL, + gst_mikmod_base_init, NULL, (GClassInitFunc)gst_mikmod_class_init, NULL, @@ -135,6 +132,15 @@ gst_mikmod_get_type(void) { return mikmod_type; } +static void +gst_mikmod_base_init (gpointer g_class) +{ + GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); + + gst_element_class_add_pad_template (element_class, mikmod_src_factory ()); + gst_element_class_add_pad_template (element_class, mikmod_sink_factory ()); + gst_element_class_set_details (element_class, &mikmod_details); +} static void gst_mikmod_class_init (GstMikModClass *klass) @@ -540,26 +546,22 @@ gst_mikmod_get_property (GObject *object, guint id, GValue *value, GParamSpec *p } static gboolean -plugin_init (GModule *module, GstPlugin *plugin) +plugin_init (GstPlugin *plugin) { - GstElementFactory *factory; - - factory = gst_element_factory_new("mikmod",GST_TYPE_MIKMOD, - &mikmod_details); - g_return_val_if_fail(factory != NULL, FALSE); - gst_element_factory_set_rank (factory, GST_ELEMENT_RANK_SECONDARY); - - gst_element_factory_add_pad_template (factory, mikmod_src_factory ()); - gst_element_factory_add_pad_template (factory, mikmod_sink_factory ()); - - gst_plugin_add_feature (plugin, GST_PLUGIN_FEATURE (factory)); + if (!gst_element_register (plugin, "mikmod", GST_RANK_NONE, GST_TYPE_MIKMOD)) + return FALSE; return TRUE; } -GstPluginDesc plugin_desc = { +GST_PLUGIN_DEFINE ( GST_VERSION_MAJOR, GST_VERSION_MINOR, "mikmod", - plugin_init -}; + "Mikmod plugin library", + plugin_init, + VERSION, + "GPL", + GST_COPYRIGHT, + GST_PACKAGE, + GST_ORIGIN) |