From d6e79424264147e52f70d9ed34b80e34a9d3c23b Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Tue, 5 Jul 2005 15:19:22 +0000 Subject: Fixed: Crossfading, broken elapsed info with mp3 files, possible cpu boost problem and track changing. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7027 a1c6a512-1295-4272-9138-f99709370657 --- firmware/pcm_playback.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'firmware/pcm_playback.c') diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c index 298d2e7874..a58069d5f1 100644 --- a/firmware/pcm_playback.c +++ b/firmware/pcm_playback.c @@ -127,7 +127,7 @@ void pcm_boost(bool state) { static bool boost_state = false; - if (crossfade_active || boost_mode) + if (crossfade_init || crossfade_active || boost_mode) return ; if (state != boost_state) { @@ -158,6 +158,7 @@ static void dma_stop(void) next_start = NULL; next_size = 0; crossfade_init = 0; + crossfade_active = 0; pcm_paused = false; } @@ -255,13 +256,12 @@ void pcm_play_data(const unsigned char* start, int size, void pcm_play_stop(void) { - crossfade_active = false; - pcm_set_boost_mode(false); - pcm_boost(false); if (pcm_playing) { uda1380_mute(true); dma_stop(); } + pcm_set_boost_mode(false); + pcm_boost(false); } void pcm_play_pause(bool play) @@ -436,6 +436,7 @@ bool pcm_crossfade_init(void) return false; } logf("crossfading!"); + pcm_boost(true); crossfade_mode = CFM_CROSSFADE; crossfade_init = true; -- cgit v1.2.3