summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/playback.c1
-rw-r--r--apps/plugins/codecflac.c3
-rw-r--r--apps/plugins/codecvorbis.c2
3 files changed, 5 insertions, 1 deletions
diff --git a/apps/playback.c b/apps/playback.c
index 98b73b4639..bfe6fd5691 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1150,6 +1150,7 @@ void audio_play(int offset)
#ifndef SIMULATOR
pcm_play_pause(true);
#endif
+ paused = false;
queue_post(&audio_queue, AUDIO_PLAY, (void *)offset);
}
diff --git a/apps/plugins/codecflac.c b/apps/plugins/codecflac.c
index 57089ee9a3..8862bbc215 100644
--- a/apps/plugins/codecflac.c
+++ b/apps/plugins/codecflac.c
@@ -75,7 +75,8 @@ FLAC__StreamDecoderWriteStatus flac_write_handler(const FLAC__SeekableStreamDeco
samplesdone+=samples;
ci->set_elapsed(samplesdone/(ci->id3->frequency/1000));
-
+
+ rb->yield();
while (!ci->audiobuffer_insert(pcmbuf, data_size))
rb->yield();
diff --git a/apps/plugins/codecvorbis.c b/apps/plugins/codecvorbis.c
index 2fcc031ce5..948482677f 100644
--- a/apps/plugins/codecvorbis.c
+++ b/apps/plugins/codecvorbis.c
@@ -142,6 +142,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parm)
rb->yield();
if (ci->stop_codec || ci->reload_codec)
break ;
+
+ rb->yield();
while (!ci->audiobuffer_insert(pcmbuf, n))
rb->yield();