From d88c3c8462f12cec592d24ef8a3ebd570ede9ca6 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sun, 2 May 2010 15:57:59 +0200 Subject: output_thread: call replay gain filter manually Don't add it to the filter chain, because we need to apply replay gain before cross-fading with the next song. Add a second replay_gain filter which is used for the song being faded in (chunk->other). --- src/output_init.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/output_init.c') diff --git a/src/output_init.c b/src/output_init.c index a091e749a..f4700dfb2 100644 --- a/src/output_init.c +++ b/src/output_init.c @@ -209,10 +209,17 @@ audio_output_init(struct audio_output *ao, const struct config_param *param, param, NULL); assert(ao->replay_gain_filter != NULL); - filter_chain_append(ao->filter, ao->replay_gain_filter); ao->replay_gain_serial = 0; - } else + + ao->other_replay_gain_filter = filter_new(&replay_gain_filter_plugin, + param, NULL); + assert(ao->other_replay_gain_filter != NULL); + + ao->other_replay_gain_serial = 0; + } else { ao->replay_gain_filter = NULL; + ao->other_replay_gain_filter = NULL; + } /* create the normalization filter (if configured) */ -- cgit v1.2.3