diff pidgin/gtksound.c @ 23102:dcb26bb0be73

merge of '487397995e13465f3b2c9d4748f832eaa17b2f9f' and '7cd7197fa3237ff97089c9ca567c7d87b9457769'
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 23 May 2008 16:46:19 +0000
parents fb87b6d77543
children c767bcb40b36
line wrap: on
line diff
--- a/pidgin/gtksound.c	Wed May 21 15:47:21 2008 +0000
+++ b/pidgin/gtksound.c	Fri May 23 16:46:19 2008 +0000
@@ -491,26 +491,12 @@
 		if (purple_running_gnome()) {
 			sink = gst_element_factory_make("gconfaudiosink", "sink");
 		}
-		if (!sink)
-			sink = gst_element_factory_make("autoaudiosink", "sink");
-		if (!sink) {
-			purple_debug_error("sound", "Unable to create GStreamer audiosink.\n");
-			return;
-		}
 	}
 #ifndef _WIN32
 	else if (!strcmp(method, "esd")) {
 		sink = gst_element_factory_make("esdsink", "sink");
-		if (!sink) {
-			purple_debug_error("sound", "Unable to create GStreamer audiosink.\n");
-			return;
-		}
 	} else if (!strcmp(method, "alsa")) {
 		sink = gst_element_factory_make("alsasink", "sink");
-		if (!sink) {
-			purple_debug_error("sound", "Unable to create GStreamer audiosink.\n");
-			return;
-		}
 	}
 #endif
 	else {
@@ -518,6 +504,11 @@
 		return;
 	}
 
+	if (strcmp(method, "automatic") != 0 && !sink) {
+		purple_debug_error("sound", "Unable to create GStreamer audiosink.\n");
+		return;
+	}
+
 	play = gst_element_factory_make("playbin", "play");
 
 	if (play == NULL) {