diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-09-25 10:46:34 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-09-25 10:46:34 +0200 |
commit | 8dc7347d65e923d9a86ced26bba9411e99f90aaa (patch) | |
tree | 4fbe96152c72926fc3fb12080b52b2ed8ecc4487 /gst/frei0r/gstfrei0rmixer.c | |
parent | bf74bcc1af18a5ee712869758a7d0b71965c725f (diff) | |
download | gstreamer-plugins-bad-8dc7347d65e923d9a86ced26bba9411e99f90aaa.tar.gz |
frei0r: Fix scanning of plugin subdirectories and support different vendors
The frei0r spec specifies, that plugins can be in subdirectories inside
the main plugin directories to introduce new namespaces called vendors.
Diffstat (limited to 'gst/frei0r/gstfrei0rmixer.c')
-rw-r--r-- | gst/frei0r/gstfrei0rmixer.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gst/frei0r/gstfrei0rmixer.c b/gst/frei0r/gstfrei0rmixer.c index f61a57341..9c8e605c0 100644 --- a/gst/frei0r/gstfrei0rmixer.c +++ b/gst/frei0r/gstfrei0rmixer.c @@ -768,8 +768,8 @@ gst_frei0r_mixer_init (GstFrei0rMixer * self, GstFrei0rMixerClass * klass) } GstFrei0rPluginRegisterReturn -gst_frei0r_mixer_register (GstPlugin * plugin, const f0r_plugin_info_t * info, - const GstFrei0rFuncTable * ftable) +gst_frei0r_mixer_register (GstPlugin * plugin, const gchar * vendor, + const f0r_plugin_info_t * info, const GstFrei0rFuncTable * ftable) { GTypeInfo typeinfo = { sizeof (GstFrei0rMixerClass), @@ -790,7 +790,10 @@ gst_frei0r_mixer_register (GstPlugin * plugin, const f0r_plugin_info_t * info, if (ftable->update2 == NULL) return GST_FREI0R_PLUGIN_REGISTER_RETURN_FAILED; - tmp = g_strdup_printf ("frei0r-mixer-%s", info->name); + if (vendor) + tmp = g_strdup_printf ("frei0r-mixer-%s-%s", vendor, info->name); + else + tmp = g_strdup_printf ("frei0r-mixer-%s", info->name); type_name = g_ascii_strdown (tmp, -1); g_free (tmp); g_strcanon (type_name, G_CSET_A_2_Z G_CSET_a_2_z G_CSET_DIGITS "-+", '-'); |