summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2005-06-20 06:49:21 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2005-06-20 06:49:21 +0000
commitcf18f96b9953bfb964db670eaae7fc2d8aa8bae5 (patch)
treec7633f2b273688e2a01ca25105044929aaf61c9e
parent12a0e221de7ae39b221f38fe5cd8165440a79d2e (diff)
downloadrockbox-cf18f96b9953bfb964db670eaae7fc2d8aa8bae5.zip
rockbox-cf18f96b9953bfb964db670eaae7fc2d8aa8bae5.tar.gz
rockbox-cf18f96b9953bfb964db670eaae7fc2d8aa8bae5.tar.bz2
rockbox-cf18f96b9953bfb964db670eaae7fc2d8aa8bae5.tar.xz
Elapsed counter resets correctly when changing tracks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6771 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/playback.c5
-rw-r--r--firmware/pcm_playback.c3
2 files changed, 5 insertions, 3 deletions
diff --git a/apps/playback.c b/apps/playback.c
index 1068796..c0b2db9 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 e91984f..fcbdb35 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;