summaryrefslogtreecommitdiff
path: root/gst/frei0r/gstfrei0rsrc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/frei0r/gstfrei0rsrc.c')
-rw-r--r--gst/frei0r/gstfrei0rsrc.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/gst/frei0r/gstfrei0rsrc.c b/gst/frei0r/gstfrei0rsrc.c
index e811b46d7..1e6beeefa 100644
--- a/gst/frei0r/gstfrei0rsrc.c
+++ b/gst/frei0r/gstfrei0rsrc.c
@@ -391,7 +391,7 @@ gst_frei0r_src_init (GstFrei0rSrc * self, GstFrei0rSrcClass * klass)
gst_base_src_set_format (GST_BASE_SRC_CAST (self), GST_FORMAT_TIME);
}
-gboolean
+GstFrei0rPluginRegisterReturn
gst_frei0r_src_register (GstPlugin * plugin, const f0r_plugin_info_t * info,
const GstFrei0rFuncTable * ftable)
{
@@ -409,7 +409,7 @@ gst_frei0r_src_register (GstPlugin * plugin, const f0r_plugin_info_t * info,
GType type;
gchar *type_name, *tmp;
GstFrei0rSrcClassData *class_data;
- gboolean ret = FALSE;
+ GstFrei0rPluginRegisterReturn ret = GST_FREI0R_PLUGIN_REGISTER_RETURN_FAILED;
tmp = g_strdup_printf ("frei0r-src-%s", info->name);
type_name = g_ascii_strdown (tmp, -1);
@@ -417,8 +417,8 @@ gst_frei0r_src_register (GstPlugin * plugin, const f0r_plugin_info_t * info,
g_strcanon (type_name, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-+", '-');
if (g_type_from_name (type_name)) {
- GST_WARNING ("Type '%s' already exists", type_name);
- return FALSE;
+ GST_DEBUG ("Type '%s' already exists", type_name);
+ return GST_FREI0R_PLUGIN_REGISTER_RETURN_ALREADY_REGISTERED;
}
class_data = g_new0 (GstFrei0rSrcClassData, 1);
@@ -427,7 +427,8 @@ gst_frei0r_src_register (GstPlugin * plugin, const f0r_plugin_info_t * info,
typeinfo.class_data = class_data;
type = g_type_register_static (GST_TYPE_PUSH_SRC, type_name, &typeinfo, 0);
- ret = gst_element_register (plugin, type_name, GST_RANK_NONE, type);
+ if (gst_element_register (plugin, type_name, GST_RANK_NONE, type))
+ ret = GST_FREI0R_PLUGIN_REGISTER_RETURN_OK;
g_free (type_name);
return ret;