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).
This commit is contained in:
Max Kellermann
2010-05-02 15:57:59 +02:00
parent 5399a72ec1
commit d88c3c8462
4 changed files with 85 additions and 17 deletions

View File

@@ -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) */