From e4b0fcf8e04d0b598393b07f7bac96548630d8ea Mon Sep 17 00:00:00 2001
From: "J. Alexander Treuman" <jat@spatialrift.net>
Date: Fri, 14 Jul 2006 20:30:33 +0000
Subject: Use audio_output { name } for the stream name in PulseAudio

git-svn-id: https://svn.musicpd.org/mpd/trunk@4340 09075e82-0dd4-0310-85a5-a0d7c8717e4f
---
 src/audioOutputs/audioOutput_pulse.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

(limited to 'src/audioOutputs')

diff --git a/src/audioOutputs/audioOutput_pulse.c b/src/audioOutputs/audioOutput_pulse.c
index 9baea5b68..684914771 100644
--- a/src/audioOutputs/audioOutput_pulse.c
+++ b/src/audioOutputs/audioOutput_pulse.c
@@ -23,7 +23,6 @@
 #ifdef HAVE_PULSE
 
 #define MPD_PULSE_NAME "mpd"
-#define MPD_PULSE_STREAM_NAME "mpd"
 
 #include "../conf.h"
 #include "../log.h"
@@ -34,6 +33,7 @@
 typedef struct _PulseData {
 	char * server;
 	char * sink;
+	char * name;
 	pa_simple * s;
 } PulseData;
 
@@ -44,6 +44,7 @@ static PulseData * newPulseData()
 	ret = malloc(sizeof(PulseData));
 	ret->server = NULL;
 	ret->sink = NULL;
+	ret->name = NULL;
 	ret->s = NULL;
 	return ret;
 }
@@ -52,6 +53,7 @@ static void freePulseData(PulseData * ad)
 {
 	if (ad->server) free(ad->server);
 	if (ad->sink) free(ad->sink);
+	if (ad->name) free(ad->name);
 	free(ad);
 }
 
@@ -59,16 +61,19 @@ static int pulse_initDriver(AudioOutput * audioOutput, ConfigParam * param)
 {
 	BlockParam * server = NULL;
 	BlockParam * sink = NULL;
+	BlockParam * name = NULL;
 	PulseData * ad;
 
 	if (param) {
 		server = getBlockParam(param, "server");
 		sink = getBlockParam(param, "sink");
+		name = getBlockParam(param, "name");
 	}
 
 	ad = newPulseData();
 	ad->server = server ? strdup(server->value) : NULL;
 	ad->sink = sink ? strdup(sink->value) : NULL;
+	ad->name = strdup(name->value);
 	audioOutput->data = ad;
 
 	return 0;
@@ -90,7 +95,7 @@ static int pulse_testDefault()
 	ss.channels = 2;
 
 	s = pa_simple_new(NULL, MPD_PULSE_NAME, PA_STREAM_PLAYBACK, NULL,
-	                  MPD_PULSE_STREAM_NAME, &ss, NULL, NULL, &error);
+	                  MPD_PULSE_NAME, &ss, NULL, NULL, &error);
 	if (!s) {
 		WARNING("Cannot connect to default PulseAudio server: %s\n",
 		        pa_strerror(error));
@@ -123,8 +128,7 @@ static int pulse_openDevice(AudioOutput * audioOutput)
 	ss.channels = audioFormat->channels;
 
 	ad->s = pa_simple_new(ad->server, MPD_PULSE_NAME, PA_STREAM_PLAYBACK,
-	                       ad->sink, MPD_PULSE_STREAM_NAME, &ss,
-	                       NULL, NULL, &error);
+	                       ad->sink, ad->name, &ss, NULL, NULL, &error);
 	if (!ad->s) {
 		ERROR("Cannot connect to server in PulseAudio output " \
 		      "\"%s\": %s\n", audioOutput->name, pa_strerror(error));
-- 
cgit v1.2.3