aboutsummaryrefslogtreecommitdiffstats
path: root/src/output_control.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2010-05-02 15:57:59 +0200
committerMax Kellermann <max@duempel.org>2010-05-02 18:21:16 +0200
commitd88c3c8462f12cec592d24ef8a3ebd570ede9ca6 (patch)
tree580e25a8c0368fead87dba18c5f226c00ea679a2 /src/output_control.c
parent5399a72ec1141307e79970993e4a90a8d643ac50 (diff)
downloadmpd-d88c3c8462f12cec592d24ef8a3ebd570ede9ca6.tar.gz
mpd-d88c3c8462f12cec592d24ef8a3ebd570ede9ca6.tar.xz
mpd-d88c3c8462f12cec592d24ef8a3ebd570ede9ca6.zip
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).
Diffstat (limited to 'src/output_control.c')
-rw-r--r--src/output_control.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/output_control.c b/src/output_control.c
index bcedae247..5b9b2b902 100644
--- a/src/output_control.c
+++ b/src/output_control.c
@@ -300,6 +300,12 @@ void audio_output_finish(struct audio_output *ao)
g_cond_free(ao->cond);
g_mutex_free(ao->mutex);
+ if (ao->replay_gain_filter != NULL)
+ filter_free(ao->replay_gain_filter);
+
+ if (ao->other_replay_gain_filter != NULL)
+ filter_free(ao->other_replay_gain_filter);
+
filter_free(ao->filter);
pcm_buffer_deinit(&ao->cross_fade_buffer);