summaryrefslogtreecommitdiff
path: root/apps/dsp.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-02-26 17:15:04 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-02-26 17:15:04 +0000
commit9b9e22731c137ef3f3febde7d4a914e1adfe6253 (patch)
tree4e6f98841be43af0004f97e6d827986279b6ff28 /apps/dsp.c
parent94c02493a9f34a686655bd82dedba8c9a78cbc63 (diff)
downloadrockbox-9b9e22731c137ef3f3febde7d4a914e1adfe6253.zip
rockbox-9b9e22731c137ef3f3febde7d4a914e1adfe6253.tar.gz
rockbox-9b9e22731c137ef3f3febde7d4a914e1adfe6253.tar.bz2
rockbox-9b9e22731c137ef3f3febde7d4a914e1adfe6253.tar.xz
SWCODEC: Fix the problem of replaygain not being applied unless the menu is entered. Make all codecs set the replay gain or else formats that do not have replaygain will not set the gain back to default if a file with gain applied proceeded them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12498 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/dsp.c')
-rw-r--r--apps/dsp.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/apps/dsp.c b/apps/dsp.c
index f306069..f10bdfe 100644
--- a/apps/dsp.c
+++ b/apps/dsp.c
@@ -1200,11 +1200,14 @@ bool dsp_configure(int setting, intptr_t value)
void set_gain_var(long *var, long value)
{
/* Voice shouldn't mess with these */
- if (dsp != audio_dsp)
- return;
-
- *var = value;
- new_gain = true;
+ if (dsp == audio_dsp)
+ {
+ *var = value;
+ /* In case current gain is zero, force at least one call
+ to apply_gain or apply_gain won't pick up on new_gain */
+ audio_dsp->gain = -1;
+ new_gain = true;
+ }
}
void update_functions(void)