summaryrefslogtreecommitdiff
path: root/firmware
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
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')
-rw-r--r--firmware/export/id3.h2
-rw-r--r--firmware/pcm_playback.c9
2 files changed, 6 insertions, 5 deletions
diff --git a/firmware/export/id3.h b/firmware/export/id3.h
index 8fd41a1286..8f904e49e6 100644
--- a/firmware/export/id3.h
+++ b/firmware/export/id3.h
@@ -25,7 +25,7 @@
25/* Audio file types. */ 25/* Audio file types. */
26/* NOTE: When adding new audio types, also add to codec_labels[] in id3.c */ 26/* NOTE: When adding new audio types, also add to codec_labels[] in id3.c */
27enum { 27enum {
28 AFMT_UNKNOWN = 0, /* Unknown file format */ 28 AFMT_UNKNOWN = 1, /* Unknown file format */
29 29
30#if CONFIG_HWCODEC==MASNONE 30#if CONFIG_HWCODEC==MASNONE
31 AFMT_MPA_L1, /* MPEG Audio layer 1 */ 31 AFMT_MPA_L1, /* MPEG Audio layer 1 */
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