From cf18f96b9953bfb964db670eaae7fc2d8aa8bae5 Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Mon, 20 Jun 2005 06:49:21 +0000 Subject: [PATCH] Elapsed counter resets correctly when changing tracks. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6771 a1c6a512-1295-4272-9138-f99709370657 --- apps/playback.c | 5 ++++- firmware/pcm_playback.c | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/playback.c b/apps/playback.c index 1068796c83..c0b2db985e 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -239,6 +239,9 @@ void codec_set_elapsed_callback(unsigned int value) { unsigned int latency; + if (ci.stop_codec) + return ; + latency = audiobuffer_get_latency(); if (value < latency) { @@ -751,7 +754,7 @@ void audio_play_start(int offset) buf_widx = 0; codecbufused = 0; pcm_set_boost_mode(true); - + fill_bytesleft = codecbuflen; filling = true; last_peek_offset = 0; diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c index e91984f842..fcbdb355b7 100644 --- a/firmware/pcm_playback.c +++ b/firmware/pcm_playback.c @@ -367,8 +367,7 @@ unsigned int audiobuffer_get_latency(void) int latency; /* This has to be done better. */ - latency = (PCMBUF_SIZE - audiobuffer_free - audiobuffer_fillpos - - CHUNK_SIZE)/4 / (44100/1000); + latency = (PCMBUF_SIZE - audiobuffer_free - CHUNK_SIZE)/4 / (44100/1000); if (latency < 0) latency = 0;