1
0
Fork 0
forked from len0rd/rockbox

Clean up peak calculating code.

Mixer needn't keep peak data around that will never be used. Just
pass pcm_peaks structure to it instead of allocating for every
channel. Plugin API becomes incompatible.

vu_meter digital mode was still using global peak calculation;
switch it to playback channel like the rest.

Remove some accumulated soil peaks inside pcm.c and make it more
generic.

Change-Id: Ib4d268d80b6a9d09915eea1c91eab483c1a2c009
This commit is contained in:
Michael Sevakis 2012-05-02 20:53:07 -04:00
parent c0208f0f64
commit e189b33ff4
10 changed files with 81 additions and 78 deletions

View file

@ -228,9 +228,11 @@ static int plugin_main(void)
/* Get the peaks. ( Borrowed from vu_meter ) */
#if (CONFIG_CODEC == SWCODEC)
int left_peak, right_peak;
static struct pcm_peaks peaks;
rb->mixer_channel_calculate_peaks(PCM_MIXER_CHAN_PLAYBACK,
&left_peak, &right_peak);
&peaks);
#define left_peak peaks.left
#define right_peak peaks.right
#else
int left_peak = rb->mas_codec_readreg(0xC);
int right_peak = rb->mas_codec_readreg(0xD);