pidgin: cd8c000c: A (modified) patch from Felipe to simpli...

felipe.contreras at gmail.com felipe.contreras at gmail.com
Wed May 21 19:22:16 EDT 2008


-----------------------------------------------------------------
Revision: cd8c000c5205ad2bdbbc2c7de67b5f08b72e17c8
Ancestor: e763524fa2ffdf5199bbaedbfd4ec6e11edacb0c
Author: felipe.contreras at gmail.com
Date: 2008-05-21T22:06:52
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/cd8c000c5205ad2bdbbc2c7de67b5f08b72e17c8

Modified files:
        pidgin/gtksound.c

ChangeLog: 

A (modified) patch from Felipe to simplify our GStreamer sink selection
code.  There's no need to initialize autoaudiosink ourselves, as playbin
will do that for us if we pass NULL.
Fixes #5770

-------------- next part --------------
============================================================
--- pidgin/gtksound.c	570dc9d89d1f0792623bd01a54ed0492620300d8
+++ pidgin/gtksound.c	ffd5d59aa7a9c8f04cdc35fd7d0232fbf925f585
@@ -491,26 +491,12 @@ pidgin_sound_play_file(const char *filen
 		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 @@ pidgin_sound_play_file(const char *filen
 		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) {


More information about the Commits mailing list