summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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