gst/gstregistry.c: refuse to add plugins when a plugin with same name is already registered. Fixes a bunch of "How to...

Original commit message from CVS:
* gst/gstregistry.c: (gst_registry_add_plugin):
refuse to add plugins when a plugin with same name is already
registered. Fixes a bunch of "How to remove plugins?" issues.
May lead to other problems though, let's test
This commit is contained in:
Benjamin Otte 2004-05-10 00:35:59 +00:00
parent 4e0df2c413
commit a68e369765
2 changed files with 14 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2004-05-10 Benjamin Otte <in7y118@public.uni-hamburg.de>
* gst/gstregistry.c: (gst_registry_add_plugin):
refuse to add plugins when a plugin with same name is already
registered. Fixes a bunch of "How to remove plugins?" issues.
May lead to other problems though, let's test
2004-05-10 Stephane Loeuillet <stephane.loeuillet@tiscali.fr> 2004-05-10 Stephane Loeuillet <stephane.loeuillet@tiscali.fr>
* testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3 * testsuite/caps/caps_strings : audio/ac3 => audio/x-ac3

View file

@ -37,6 +37,7 @@
#include "gstinfo.h" #include "gstinfo.h"
#include "gstregistry.h" #include "gstregistry.h"
#include "gstregistrypool.h"
#include "gstmarshal.h" #include "gstmarshal.h"
#include "gstfilter.h" #include "gstfilter.h"
@ -281,6 +282,12 @@ gboolean
gst_registry_add_plugin (GstRegistry * registry, GstPlugin * plugin) gst_registry_add_plugin (GstRegistry * registry, GstPlugin * plugin)
{ {
g_return_val_if_fail (GST_IS_REGISTRY (registry), FALSE); g_return_val_if_fail (GST_IS_REGISTRY (registry), FALSE);
if (gst_registry_pool_find_plugin (gst_plugin_get_name (plugin))) {
GST_WARNING_OBJECT (registry, "Not adding plugin %s, "
"because a plugin with same name already exists",
gst_plugin_get_name (plugin));
return FALSE;
}
plugin->manager = registry; plugin->manager = registry;
registry->plugins = g_list_prepend (registry->plugins, plugin); registry->plugins = g_list_prepend (registry->plugins, plugin);