diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/playback.c | 1 | ||||
-rw-r--r-- | apps/plugins/codecflac.c | 3 | ||||
-rw-r--r-- | apps/plugins/codecvorbis.c | 2 |
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(); |