summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2005-06-09 19:31:35 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2005-06-09 19:31:35 +0000
commitfe468b1149bf61b2b4a0c4a2ac3624632af5cb2b (patch)
tree84f223ca4882447c97b8f3e0c66de47cd88da05f /firmware
parenta501277a1c7d97ff6fb38d92698de76d1bab9541 (diff)
downloadrockbox-fe468b1149bf61b2b4a0c4a2ac3624632af5cb2b.zip
rockbox-fe468b1149bf61b2b4a0c4a2ac3624632af5cb2b.tar.gz
rockbox-fe468b1149bf61b2b4a0c4a2ac3624632af5cb2b.tar.bz2
rockbox-fe468b1149bf61b2b4a0c4a2ac3624632af5cb2b.tar.xz
Bunch of playback bugs fixed including next/prev/select track,
pausing, faster ui response, ... git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6641 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/pcm_playback.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c
index e5d6f42..a5c1deb 100644
--- a/firmware/pcm_playback.c
+++ b/firmware/pcm_playback.c
@@ -234,7 +234,7 @@ void pcm_play_stop(void)
pcmbuf_unplayed_bytes = 0;
next_start = NULL;
next_size = 0;
- pcm_boost(false);
+ pcm_set_boost_mode(false);
}
void pcm_play_pause(bool play)
@@ -252,6 +252,7 @@ void pcm_play_pause(bool play)
IIS2CONFIG = 0x800;
pcm_paused = true;
}
+ pcm_boost(false);
}
bool pcm_is_playing(void)
@@ -348,9 +349,8 @@ void pcm_watermark_callback(int bytes_left)
void pcm_set_boost_mode(bool state)
{
- boost_mode = state;
- if (boost_mode)
- pcm_boost(true);
+ boost_mode = state;
+ pcm_boost(state);
}
void audiobuffer_add_event(void (*event_handler)(void))
@@ -385,7 +385,7 @@ bool pcm_is_lowdata(void)
void pcm_crossfade_start(void)
{
- if (audiobuffer_free > CHUNK_SIZE * 4) {
+ if (audiobuffer_free > CHUNK_SIZE * 4 || !crossfade_enabled) {
return ;
}
pcm_boost(true);
@@ -433,7 +433,7 @@ bool audiobuffer_insert(char *buf, size_t length)
}
while (length > 0) {
- if (crossfade_enabled && crossfade_active) {
+ if (crossfade_active) {
copy_n = MIN(length, PCMBUF_SIZE - (unsigned int)crossfade_pos);
crossfade((short *)&audiobuffer[crossfade_pos],