diff options
Diffstat (limited to 'apps/replaygain.c')
-rw-r--r-- | apps/replaygain.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/apps/replaygain.c b/apps/replaygain.c index 7875e06e72..5eb745a5f1 100644 --- a/apps/replaygain.c +++ b/apps/replaygain.c | |||
@@ -118,7 +118,7 @@ static long fp_atof(const char* s, int precision) | |||
118 | + (((int64_t) frac_part * int_one) / frac_max_int)); | 118 | + (((int64_t) frac_part * int_one) / frac_max_int)); |
119 | } | 119 | } |
120 | 120 | ||
121 | long convert_gain(long gain) | 121 | static long convert_gain(long gain) |
122 | { | 122 | { |
123 | /* Don't allow unreasonably low or high gain changes. | 123 | /* Don't allow unreasonably low or high gain changes. |
124 | * Our math code can't handle it properly anyway. :) */ | 124 | * Our math code can't handle it properly anyway. :) */ |
@@ -171,13 +171,15 @@ void parse_replaygain(const char* key, const char* value, | |||
171 | (strcasecmp(key, "rg_radio") == 0)) && | 171 | (strcasecmp(key, "rg_radio") == 0)) && |
172 | !entry->track_gain) | 172 | !entry->track_gain) |
173 | { | 173 | { |
174 | entry->track_gain = get_replaygain(value); | 174 | entry->track_level = get_replaygain(value); |
175 | entry->track_gain = convert_gain(entry->track_level); | ||
175 | } | 176 | } |
176 | else if (((strcasecmp(key, "replaygain_album_gain") == 0) || | 177 | else if (((strcasecmp(key, "replaygain_album_gain") == 0) || |
177 | (strcasecmp(key, "rg_audiophile") == 0)) && | 178 | (strcasecmp(key, "rg_audiophile") == 0)) && |
178 | !entry->album_gain) | 179 | !entry->album_gain) |
179 | { | 180 | { |
180 | entry->album_gain = get_replaygain(value); | 181 | entry->album_level = get_replaygain(value); |
182 | entry->album_gain = convert_gain(entry->album_level); | ||
181 | } | 183 | } |
182 | else if (((strcasecmp(key, "replaygain_track_peak") == 0) || | 184 | else if (((strcasecmp(key, "replaygain_track_peak") == 0) || |
183 | (strcasecmp(key, "rg_peak") == 0)) && | 185 | (strcasecmp(key, "rg_peak") == 0)) && |
@@ -207,12 +209,14 @@ void parse_replaygain_int(bool album, long gain, long peak, | |||
207 | 209 | ||
208 | if (album) | 210 | if (album) |
209 | { | 211 | { |
210 | entry->album_gain = gain; | 212 | entry->album_level = gain; |
211 | entry->album_peak = peak; | 213 | entry->album_gain = convert_gain(gain); |
214 | entry->album_peak = peak; | ||
212 | } | 215 | } |
213 | else | 216 | else |
214 | { | 217 | { |
215 | entry->track_gain = gain; | 218 | entry->track_level = gain; |
216 | entry->track_peak = peak; | 219 | entry->track_gain = convert_gain(gain); |
220 | entry->track_peak = peak; | ||
217 | } | 221 | } |
218 | } | 222 | } |