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.tar.gz
rockbox-cf18f96b9953bfb964db670eaae7fc2d8aa8bae5.zip
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 1068796c83..c0b2db985e 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -239,6 +239,9 @@ void codec_set_elapsed_callback(unsigned int value)
239{ 239{
240 unsigned int latency; 240 unsigned int latency;
241 241
242 if (ci.stop_codec)
243 return ;
244
242 latency = audiobuffer_get_latency(); 245 latency = audiobuffer_get_latency();
243 246
244 if (value < latency) { 247 if (value < latency) {
@@ -751,7 +754,7 @@ void audio_play_start(int offset)
751 buf_widx = 0; 754 buf_widx = 0;
752 codecbufused = 0; 755 codecbufused = 0;
753 pcm_set_boost_mode(true); 756 pcm_set_boost_mode(true);
754 757
755 fill_bytesleft = codecbuflen; 758 fill_bytesleft = codecbuflen;
756 filling = true; 759 filling = true;
757 last_peek_offset = 0; 760 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)
367 int latency; 367 int latency;
368 368
369 /* This has to be done better. */ 369 /* This has to be done better. */
370 latency = (PCMBUF_SIZE - audiobuffer_free - audiobuffer_fillpos 370 latency = (PCMBUF_SIZE - audiobuffer_free - CHUNK_SIZE)/4 / (44100/1000);
371 - CHUNK_SIZE)/4 / (44100/1000);
372 if (latency < 0) 371 if (latency < 0)
373 latency = 0; 372 latency = 0;
374 373