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

@ -881,8 +881,10 @@ enum plugin_status plugin_start(const void* parameter)
left = rb->mas_codec_readreg(0xC);
right = rb->mas_codec_readreg(0xD);
#elif (CONFIG_CODEC == SWCODEC)
static struct pcm_peaks peaks;
rb->mixer_channel_calculate_peaks(PCM_MIXER_CHAN_PLAYBACK,
&left, &right);
&peaks);
left = peaks.left; right = peaks.right;
#endif
if (osc.orientation == OSC_HORIZ)
anim_horizontal(left, right);