summaryrefslogtreecommitdiff
path: root/firmware/pcm_playback.c
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2005-07-05 15:19:22 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2005-07-05 15:19:22 +0000
commitd6e79424264147e52f70d9ed34b80e34a9d3c23b (patch)
tree712837474fee23ce550636480f797c45e3829b4c /firmware/pcm_playback.c
parent2d79df5086a3c632ef09bc273c201a8443a7c4a2 (diff)
downloadrockbox-d6e79424264147e52f70d9ed34b80e34a9d3c23b.tar.gz
rockbox-d6e79424264147e52f70d9ed34b80e34a9d3c23b.zip
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
Diffstat (limited to 'firmware/pcm_playback.c')
-rw-r--r--firmware/pcm_playback.c9
1 files changed, 5 insertions, 4 deletions
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)
127{ 127{
128 static bool boost_state = false; 128 static bool boost_state = false;
129 129
130 if (crossfade_active || boost_mode) 130 if (crossfade_init || crossfade_active || boost_mode)
131 return ; 131 return ;
132 132
133 if (state != boost_state) { 133 if (state != boost_state) {
@@ -158,6 +158,7 @@ static void dma_stop(void)
158 next_start = NULL; 158 next_start = NULL;
159 next_size = 0; 159 next_size = 0;
160 crossfade_init = 0; 160 crossfade_init = 0;
161 crossfade_active = 0;
161 pcm_paused = false; 162 pcm_paused = false;
162} 163}
163 164
@@ -255,13 +256,12 @@ void pcm_play_data(const unsigned char* start, int size,
255 256
256void pcm_play_stop(void) 257void pcm_play_stop(void)
257{ 258{
258 crossfade_active = false;
259 pcm_set_boost_mode(false);
260 pcm_boost(false);
261 if (pcm_playing) { 259 if (pcm_playing) {
262 uda1380_mute(true); 260 uda1380_mute(true);
263 dma_stop(); 261 dma_stop();
264 } 262 }
263 pcm_set_boost_mode(false);
264 pcm_boost(false);
265} 265}
266 266
267void pcm_play_pause(bool play) 267void pcm_play_pause(bool play)
@@ -436,6 +436,7 @@ bool pcm_crossfade_init(void)
436 return false; 436 return false;
437 } 437 }
438 logf("crossfading!"); 438 logf("crossfading!");
439 pcm_boost(true);
439 crossfade_mode = CFM_CROSSFADE; 440 crossfade_mode = CFM_CROSSFADE;
440 crossfade_init = true; 441 crossfade_init = true;
441 442