From 5936246fd0bf1379966a526487d7d5cbc1785c42 Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Mon, 20 Jun 2005 18:06:33 +0000 Subject: Fixed glitches from crossfade. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6780 a1c6a512-1295-4272-9138-f99709370657 --- apps/playback.c | 5 ----- firmware/pcm_playback.c | 3 +++ 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/apps/playback.c b/apps/playback.c index 1f0586a..4dfd196 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -809,11 +809,6 @@ void initialize_buffer_fill(void) void audio_check_buffer(void) { - /* Fill buffer as full as possible for cross-fader. */ - if (pcm_is_crossfade_enabled() && cur_ti->id3.length > 0 - && cur_ti->id3.length - cur_ti->id3.elapsed < 20000 && playing) - pcm_set_boost_mode(true); - /* Start buffer filling as necessary. */ if ((codecbufused > conf_watermark || !queue_empty(&audio_queue) || !playing || ci.stop_codec || ci.reload_codec) && !filling) diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c index 0694996..75dc792 100644 --- a/firmware/pcm_playback.c +++ b/firmware/pcm_playback.c @@ -414,6 +414,9 @@ static void crossfade_start(void) yield(); } pcm_event_handler = NULL; + audiobuffer_pos += audiobuffer_fillpos; + if (audiobuffer_pos >= PCMBUF_SIZE) + audiobuffer_pos -= PCMBUF_SIZE; } pcm_boost(true); crossfade_active = true; -- cgit v1.1