From 0cf4f09e4ffb4866eba5c4055fabfe1e60c780e4 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Wed, 25 Feb 2009 17:32:58 +0100
Subject: [PATCH] output_api: removed audio_output_get_name()

Use config_get_block_string("name") instead of audio_output_get_name().
---
 Makefile.am               |  1 -
 src/output/ao_plugin.c    |  4 ++--
 src/output/jack_plugin.c  | 14 ++++----------
 src/output/pulse_plugin.c | 19 ++++++++-----------
 src/output_api.c          | 25 -------------------------
 src/output_api.h          |  4 ----
 6 files changed, 14 insertions(+), 53 deletions(-)
 delete mode 100644 src/output_api.c

diff --git a/Makefile.am b/Makefile.am
index 11dab9892..55e64a046 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -422,7 +422,6 @@ OUTPUT_LIBS = \
 	$(SHOUT_LIBS)
 
 OUTPUT_SRC = \
-	src/output_api.c \
 	src/output_list.c \
 	src/output_all.c \
 	src/output_thread.c \
diff --git a/src/output/ao_plugin.c b/src/output/ao_plugin.c
index ca790e879..d5e4b03ce 100644
--- a/src/output/ao_plugin.c
+++ b/src/output/ao_plugin.c
@@ -75,7 +75,7 @@ static void audioOutputAo_error(const char *msg)
 }
 
 static void *
-audioOutputAo_initDriver(struct audio_output *ao,
+audioOutputAo_initDriver(G_GNUC_UNUSED struct audio_output *ao,
 			 G_GNUC_UNUSED const struct audio_format *audio_format,
 			 const struct config_param *param)
 {
@@ -103,7 +103,7 @@ audioOutputAo_initDriver(struct audio_output *ao,
 	}
 
 	g_debug("using ao driver \"%s\" for \"%s\"\n", ai->short_name,
-		audio_output_get_name(ao));
+		config_get_block_string(param, "name", NULL));
 
 	value = config_get_block_string(param, "options", NULL);
 	if (value != NULL) {
diff --git a/src/output/jack_plugin.c b/src/output/jack_plugin.c
index fa5354feb..7ce041009 100644
--- a/src/output/jack_plugin.c
+++ b/src/output/jack_plugin.c
@@ -41,7 +41,7 @@ static const char *const port_names[2] = {
 };
 
 struct jack_data {
-	struct audio_output *ao;
+	const char *name;
 
 	/* configuration */
 	char *output_ports[2];
@@ -58,12 +58,6 @@ struct jack_data {
 	bool shutdown;
 };
 
-static const char *
-mpd_jack_name(const struct jack_data *jd)
-{
-	return audio_output_get_name(jd->ao);
-}
-
 static void
 mpd_jack_client_free(struct jack_data *jd)
 {
@@ -163,7 +157,7 @@ mpd_jack_info(const char *msg)
 #endif
 
 static void *
-mpd_jack_init(struct audio_output *ao,
+mpd_jack_init(G_GNUC_UNUSED struct audio_output *ao,
 	      G_GNUC_UNUSED const struct audio_format *audio_format,
 	      const struct config_param *param)
 {
@@ -171,7 +165,7 @@ mpd_jack_init(struct audio_output *ao,
 	const char *value;
 
 	jd = g_new(struct jack_data, 1);
-	jd->ao = ao;
+	jd->name = config_get_block_string(param, "name", "mpd_jack");
 
 	g_debug("mpd_jack_init (pid=%d)", getpid());
 
@@ -221,7 +215,7 @@ mpd_jack_connect(struct jack_data *jd)
 
 	jd->shutdown = false;
 
-	if ((jd->client = jack_client_new(mpd_jack_name(jd))) == NULL) {
+	if ((jd->client = jack_client_new(jd->name)) == NULL) {
 		g_warning("jack server not running?");
 		return false;
 	}
diff --git a/src/output/pulse_plugin.c b/src/output/pulse_plugin.c
index b969f3500..9fd8d6d9c 100644
--- a/src/output/pulse_plugin.c
+++ b/src/output/pulse_plugin.c
@@ -25,7 +25,7 @@
 #define MPD_PULSE_NAME "mpd"
 
 struct pulse_data {
-	struct audio_output *ao;
+	const char *name;
 
 	pa_simple *s;
 	char *server;
@@ -53,14 +53,14 @@ static void pulse_free_data(struct pulse_data *pd)
 }
 
 static void *
-pulse_init(struct audio_output *ao,
+pulse_init(G_GNUC_UNUSED struct audio_output *ao,
 	   G_GNUC_UNUSED const struct audio_format *audio_format,
 	   const struct config_param *param)
 {
 	struct pulse_data *pd;
 
 	pd = pulse_new_data();
-	pd->ao = ao;
+	pd->name = config_get_block_string(param, "name", "mpd_pulse");
 	pd->server = param != NULL
 		? config_dup_block_string(param, "server", NULL) : NULL;
 	pd->sink = param != NULL
@@ -115,20 +115,19 @@ pulse_open(void *data, struct audio_format *audio_format)
 	ss.channels = audio_format->channels;
 
 	pd->s = pa_simple_new(pd->server, MPD_PULSE_NAME, PA_STREAM_PLAYBACK,
-			      pd->sink, audio_output_get_name(pd->ao),
+			      pd->sink, pd->name,
 			      &ss, NULL, NULL,
 			      &error);
 	if (!pd->s) {
 		g_warning("Cannot connect to server in PulseAudio output "
 			  "\"%s\": %s\n",
-			  audio_output_get_name(pd->ao),
-			  pa_strerror(error));
+			  pd->name, pa_strerror(error));
 		return false;
 	}
 
 	g_debug("PulseAudio output \"%s\" connected and playing %i bit, %i "
 		"channel audio at %i Hz\n",
-		audio_output_get_name(pd->ao),
+		pd->name,
 		audio_format->bits,
 		audio_format->channels, audio_format->sample_rate);
 
@@ -145,8 +144,7 @@ static void pulse_cancel(void *data)
 
 	if (pa_simple_flush(pd->s, &error) < 0)
 		g_warning("Flush failed in PulseAudio output \"%s\": %s\n",
-			  audio_output_get_name(pd->ao),
-			  pa_strerror(error));
+			  pd->name, pa_strerror(error));
 }
 
 static void pulse_close(void *data)
@@ -169,8 +167,7 @@ pulse_play(void *data, const void *chunk, size_t size)
 	if (pa_simple_write(pd->s, chunk, size, &error) < 0) {
 		g_warning("PulseAudio output \"%s\" disconnecting due to "
 			  "write error: %s\n",
-			  audio_output_get_name(pd->ao),
-			  pa_strerror(error));
+			  pd->name, pa_strerror(error));
 		pulse_close(pd);
 		return 0;
 	}
diff --git a/src/output_api.c b/src/output_api.c
deleted file mode 100644
index 48f68bb7f..000000000
--- a/src/output_api.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* the Music Player Daemon (MPD)
- * Copyright (C) 2008 Max Kellermann <max@duempel.org>
- * This project's homepage is: http://www.musicpd.org
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-#include "output_api.h"
-#include "output_internal.h"
-
-const char *audio_output_get_name(const struct audio_output *ao)
-{
-	return ao->name;
-}
diff --git a/src/output_api.h b/src/output_api.h
index ec42b667d..d970bbde5 100644
--- a/src/output_api.h
+++ b/src/output_api.h
@@ -25,8 +25,4 @@
 #include "tag.h"
 #include "conf.h"
 
-struct audio_output;
-
-const char *audio_output_get_name(const struct audio_output *ao);
-
 #endif