--- metadata/rb-metadata-gst.orig.c	2005-10-19 16:46:34.000000000 +0200
+++ metadata/rb-metadata-gst.c	2005-10-19 17:04:46.000000000 +0200
@@ -138,6 +138,8 @@
 static void
 rb_metadata_init (RBMetaData *md)
 {
+       RBAddTaggerElem add_tagger;
+        
 	md->priv = g_new0 (RBMetaDataPrivate, 1);
 
 	md->priv->supported_types = g_ptr_array_new ();
@@ -152,9 +154,11 @@
 	 * purpose.
  	 */
 
-	add_supported_type (md, "application/x-id3", rb_add_id3_tagger, "MP3");
-	add_supported_type (md, "audio/mpeg", rb_add_id3_tagger, "MP3");
+       add_tagger = (gst_element_factory_find("id3mux") && gst_element_factory_find("spider")) ?  rb_add_id3_tagger : NULL;
+	add_supported_type (md, "application/x-id3", add_tagger, "MP3");
+	add_supported_type (md, "audio/mpeg", add_tagger, "MP3");
 	add_supported_type (md, "application/ogg", NULL, "Ogg");
+       add_tagger = (gst_element_factory_find("flactag")) ?  rb_add_flac_tagger : NULL;
 	add_supported_type (md, "audio/x-flac", rb_add_flac_tagger, "FLAC");
 	add_supported_type (md, "audio/x-mod", NULL, "MOD");
 	add_supported_type (md, "audio/x-wav", NULL, "WAV");
