From 2c05430002c66f69c498eec40b961d4eabef66c2 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Wed, 21 Oct 2009 22:37:28 +0200
Subject: output: convert config_audio_format to an audio_format struct

This allows more sophisticated audio format selection.
---
 src/output_init.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

(limited to 'src/output_init.c')

diff --git a/src/output_init.c b/src/output_init.c
index f394066ef..f097f2c2d 100644
--- a/src/output_init.c
+++ b/src/output_init.c
@@ -154,14 +154,14 @@ audio_output_init(struct audio_output *ao, const struct config_param *param,
 
 		p = config_get_block_string(param, AUDIO_OUTPUT_FORMAT,
 						 NULL);
-		ao->config_audio_format = p != NULL;
 		if (p != NULL) {
 			bool success =
-				audio_format_parse(&ao->out_audio_format,
+				audio_format_parse(&ao->config_audio_format,
 						   p, error_r);
 			if (!success)
 				return false;
-		}
+		} else
+			audio_format_clear(&ao->config_audio_format);
 	} else {
 		g_warning("No \"%s\" defined in config file\n",
 			  CONF_AUDIO_OUTPUT);
@@ -174,7 +174,8 @@ audio_output_init(struct audio_output *ao, const struct config_param *param,
 			  plugin->name);
 
 		ao->name = "default detected output";
-		ao->config_audio_format = false;
+
+		audio_format_clear(&ao->config_audio_format);
 	}
 
 	ao->plugin = plugin;
@@ -194,8 +195,8 @@ audio_output_init(struct audio_output *ao, const struct config_param *param,
 	ao->mutex = g_mutex_new();
 
 	ao->data = ao_plugin_init(plugin,
-				  ao->config_audio_format
-				  ? &ao->out_audio_format : NULL,
+				  audio_format_defined(&ao->config_audio_format)
+				  ? &ao->config_audio_format : NULL,
 				  param, error_r);
 	if (ao->data == NULL)
 		return false;
-- 
cgit v1.2.3