summaryrefslogtreecommitdiff
path: root/apps/plugins/starfield.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2012-05-02 20:53:07 -0400
committerMichael Sevakis <jethead71@rockbox.org>2012-05-02 20:53:07 -0400
commite189b33ff4cc530cb6e59a17b260675d7341e551 (patch)
tree948b635696cbea2eac432303fa2821cfbff13670 /apps/plugins/starfield.c
parentc0208f0f64c68a97c67e42efc1b39df7c75bf7da (diff)
downloadrockbox-e189b33ff4cc530cb6e59a17b260675d7341e551.tar.gz
rockbox-e189b33ff4cc530cb6e59a17b260675d7341e551.zip
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
Diffstat (limited to 'apps/plugins/starfield.c')
-rw-r--r--apps/plugins/starfield.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/apps/plugins/starfield.c b/apps/plugins/starfield.c
index 811e9c61ae..30b01b2645 100644
--- a/apps/plugins/starfield.c
+++ b/apps/plugins/starfield.c
@@ -228,9 +228,11 @@ static int plugin_main(void)
228 228
229 /* Get the peaks. ( Borrowed from vu_meter ) */ 229 /* Get the peaks. ( Borrowed from vu_meter ) */
230#if (CONFIG_CODEC == SWCODEC) 230#if (CONFIG_CODEC == SWCODEC)
231 int left_peak, right_peak; 231 static struct pcm_peaks peaks;
232 rb->mixer_channel_calculate_peaks(PCM_MIXER_CHAN_PLAYBACK, 232 rb->mixer_channel_calculate_peaks(PCM_MIXER_CHAN_PLAYBACK,
233 &left_peak, &right_peak); 233 &peaks);
234 #define left_peak peaks.left
235 #define right_peak peaks.right
234#else 236#else
235 int left_peak = rb->mas_codec_readreg(0xC); 237 int left_peak = rb->mas_codec_readreg(0xC);
236 int right_peak = rb->mas_codec_readreg(0xD); 238 int right_peak = rb->mas_codec_readreg(0xD);