rem: pool_registries = gst_registry_pool_list ();  registries = pool_registries;  while (registries) { GstRegistry *registry = GST_REGISTRY(registries->data);  plugins = registry->plugins;  while (plugins) { GstPlugin *plugin = GST_PLUGIN(plugins->data);  features = gst_plugin_get_feature_list (plugin);  while (features) { GstPluginFeature *feature = GST_PLUGIN_FEATURE (features->data);  if (GST_IS_ELEMENT_FACTORY (feature)) { GstElementFactory *factory = GST_ELEMENT_FACTORY (feature); if (g_strrstr (factory->details->klass, "Visualization")) { vis_plugins_list = g_list_append (vis_plugins_list, (char *) g_strdup(GST_OBJECT_NAME (factory))); } } features = g_list_next (features); }  plugins = g_list_next (plugins); }  registries = g_list_next (registries); }  g_list_free (pool_registries); pool_registries = NULL;  bvw->priv->vis_plugins_list = vis_plugins_list;  return vis_plugins_list;
add: registries = g_list_next (registries); }  g_list_free (pool_registries); pool_registries = NULL;  bvw->priv->vis_plugins_list = vis_plugins_list;  return vis_plugins_list;
context: bacon_video_widget_get_visuals_list (BaconVideoWidget *bvw){	GList *pool_registries = NULL, *registries = NULL, *vis_plugins_list = NULL;	GList *plugins = NULL, *features = NULL;		g_return_if_fail (bvw != NULL);	g_return_if_fail (BACON_IS_VIDEO_WIDGET(bvw));	g_return_if_fail (GST_IS_PLAY(bvw->priv->play));		/* Cache */	if (bvw->priv->vis_plugins_list) { 		return bvw->priv->vis_plugins_list;	}		pool_registries = gst_registry_pool_list ();		registries = pool_registries;		while (registries) {		GstRegistry *registry = GST_REGISTRY(registries->data);				plugins = registry->plugins;				while (plugins) {			GstPlugin *plugin = GST_PLUGIN(plugins->data);					features = gst_plugin_get_feature_list (plugin);					while (features) {				GstPluginFeature *feature = GST_PLUGIN_FEATURE (features->data);							if (GST_IS_ELEMENT_FACTORY (feature)) {					GstElementFactory *factory = GST_ELEMENT_FACTORY (feature);					if (g_strrstr (factory->details->klass, "Visualization")) {						vis_plugins_list = g_list_append (vis_plugins_list,										(char *) g_strdup(GST_OBJECT_NAME (factory)));					}    			}				features = g_list_next (features);			}					plugins = g_list_next (plugins);		}				registries = g_list_next (registries);	}		g_list_free (pool_registries);	pool_registries = NULL;		bvw->priv->vis_plugins_list = vis_plugins_list;		return vis_plugins_list;}