Index: podcast/rb-podcast-parse.c
===================================================================
--- podcast/rb-podcast-parse.c	(revision 5529)
+++ podcast/rb-podcast-parse.c	(working copy)
@@ -40,23 +40,54 @@
 {
 	RBPodcastChannel *channel = (RBPodcastChannel *) data;
 
+#ifdef TOTEM_PL_PARSER_FIELD_TITLE
 	if (strcmp (key, TOTEM_PL_PARSER_FIELD_TITLE) == 0) {
 		channel->title = g_strdup (value);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_LANGUAGE) == 0) {
+		return;
+	}
+#endif
+#ifdef TOTEM_PL_PARSER_FIELD_LANGUAGE
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_LANGUAGE) == 0) {
 		channel->lang = g_strdup (value);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_DESCRIPTION) == 0) {
+		return;
+	}
+#endif
+#ifdef TOTEM_PL_PARSER_FIELD_DESCRIPTION
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_DESCRIPTION) == 0) {
 		channel->description = g_strdup (value);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_AUTHOR) == 0) {
+		return;
+	}
+#endif
+#ifdef TOTEM_PL_PARSER_FIELD_AUTHOR
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_AUTHOR) == 0) {
 		channel->author = g_strdup (value);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_CONTACT) == 0) {
+		return;
+	} 
+#endif
+#ifdef TOTEM_PL_PARSER_FIELD_CONTACT
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_CONTACT) == 0) {
 		channel->contact = g_strdup (value);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_IMAGE_URL) == 0) {
+		return
+	} 
+#endif
+#ifdef TOTEM_PL_PARSER_FIELD_IMAGE_URL
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_IMAGE_URL) == 0) {
 		channel->img = g_strdup (value);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_PUB_DATE) == 0) {
+		return;
+	}
+#endif
+#ifdef TOTEM_PL_PARSER_FIELD_PUB_DATE
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_PUB_DATE) == 0) {
 		channel->pub_date = totem_pl_parser_parse_date (value, FALSE);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_COPYRIGHT) == 0) {
+		return;
+	}
+#endif
+#ifdef TOTEM_PL_PARSER_FIELD_COPYRIGHT
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_COPYRIGHT) == 0) {
 		channel->copyright = g_strdup (value);
+		return;
 	}
+#endif
 }
 
 static void
@@ -85,21 +116,49 @@
 {
 	RBPodcastItem *item = (RBPodcastItem *) data;
 
+#ifdef TOTEM_PL_PARSER_FIELD_TITLE
 	if (strcmp (key, TOTEM_PL_PARSER_FIELD_TITLE) == 0) {
 		item->title = g_strdup (value);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_URL) == 0) {
+		return;
+	} 
+#endif
+#ifdef TOTEM_PL_PARSER_FIELD_URL
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_URL) == 0) {
 		item->url = g_strdup (value);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_DESCRIPTION) == 0) {
+		return;
+	} 
+#endif 
+#ifdef TOTEM_PL_PARSER_FIELD_DESCRIPTION
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_DESCRIPTION) == 0) {
 		item->description = g_strdup (value);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_AUTHOR) == 0) {
+		return;
+	}
+#endif
+#ifdef TOTEM_PL_PARSER_FIELD_AUTHOR
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_AUTHOR) == 0) {
 		item->author = g_strdup (value);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_PUB_DATE) == 0) {
+		return;
+	}
+#endif
+/* if this is defined, so are the two functions used that are specific to totem-plparser */
+#ifdef TOTEM_PL_PARSER_FIELD_PUB_DATE
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_PUB_DATE) == 0) {
 		item->pub_date = totem_pl_parser_parse_date (value, FALSE);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_DURATION) == 0) {
+		return;
+	} 
+#ifdef TOTEM_PL_PARSER_FIELD_DURATION
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_DURATION) == 0) {
 		item->duration = totem_pl_parser_parse_duration (value, FALSE);
-	} else if (strcmp (key, TOTEM_PL_PARSER_FIELD_FILESIZE) == 0) {
+		return;
+	}
+#endif /* TOTEM_PL_PARSER_FIELD_DURATION */
+#endif /* TOTEM_PL_PARSER_FIELD_PUB_DATE */
+#ifdef TOTEM_PL_PARSER_FIELD_FILESIZE
+	if (strcmp (key, TOTEM_PL_PARSER_FIELD_FILESIZE) == 0) {
 		item->filesize = g_ascii_strtoull (value, NULL, 10);
+		return;
 	}
+#endif
 }
 
 static void
