Commit 7be33eba authored by Max Kellermann's avatar Max Kellermann

DecoderAPI: don't use replay_gain_get_real_mode()

replay_gain_get_real_mode() accesses dangerous globals. Let's just use the global variable replay_gain_mode, and assume "AUTO" means "TRACK". At this point, this is the best we can do, because neither the decoder nor the player should know about the current replay gain mode. This is applied as a filter in the output thread.
parent 46ed91b5
......@@ -531,9 +531,13 @@ decoder_replay_gain(struct decoder *decoder,
serial = 1;
if (REPLAY_GAIN_OFF != replay_gain_mode) {
enum replay_gain_mode rgm = replay_gain_mode;
if (rgm != REPLAY_GAIN_ALBUM)
rgm = REPLAY_GAIN_TRACK;
decoder->dc->replay_gain_db = 20.0 * log10f(
replay_gain_tuple_scale(
&replay_gain_info->tuples[replay_gain_get_real_mode()],
&replay_gain_info->tuples[rgm],
replay_gain_preamp, replay_gain_missing_preamp,
replay_gain_limit));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment