From 171a9ee291ff079a2d70bd46f113acae3b6ef00b Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Mon, 6 Jul 2009 21:50:25 +0200
Subject: output_init: moved the "convert" filter at the end

The "convert" filter must be the last filter in the chain.  Ensure
that by doing its initialization at the very end of
audio_output_init().
---
 src/output_init.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/src/output_init.c b/src/output_init.c
index 2b227a130..eba665e77 100644
--- a/src/output_init.c
+++ b/src/output_init.c
@@ -140,11 +140,6 @@ audio_output_init(struct audio_output *ao, const struct config_param *param,
 	ao->filter = filter_chain_new();
 	assert(ao->filter != NULL);
 
-	ao->convert_filter = filter_new(&convert_filter_plugin, NULL, NULL);
-	assert(ao->convert_filter != NULL);
-
-	filter_chain_append(ao->filter, ao->convert_filter);
-
 	ao->thread = NULL;
 	notify_init(&ao->notify);
 	ao->command = AO_COMMAND_NONE;
@@ -159,5 +154,14 @@ audio_output_init(struct audio_output *ao, const struct config_param *param,
 
 	ao->mixer = audio_output_load_mixer(param, plugin->mixer_plugin);
 
+	/* the "convert" filter must be the last one in the chain */
+
+	ao->convert_filter = filter_new(&convert_filter_plugin, NULL, NULL);
+	assert(ao->convert_filter != NULL);
+
+	filter_chain_append(ao->filter, ao->convert_filter);
+
+	/* done */
+
 	return true;
 }
-- 
cgit v1.2.3