summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/playback.c4
-rw-r--r--firmware/pcm_playback.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/apps/playback.c b/apps/playback.c
index e7c1040378..3cdfed96cd 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1648,11 +1648,15 @@ void audio_stop(void)
1648void audio_pause(void) 1648void audio_pause(void)
1649{ 1649{
1650 queue_post(&audio_queue, AUDIO_PAUSE, 0); 1650 queue_post(&audio_queue, AUDIO_PAUSE, 0);
1651 while (!paused && playing)
1652 yield();
1651} 1653}
1652 1654
1653void audio_resume(void) 1655void audio_resume(void)
1654{ 1656{
1655 queue_post(&audio_queue, AUDIO_RESUME, 0); 1657 queue_post(&audio_queue, AUDIO_RESUME, 0);
1658 while (paused && playing)
1659 yield();
1656} 1660}
1657 1661
1658void audio_next(void) 1662void audio_next(void)
diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c
index b63b12f197..b582cf8c65 100644
--- a/firmware/pcm_playback.c
+++ b/firmware/pcm_playback.c
@@ -287,7 +287,7 @@ void pcm_play_pause(bool play)
287 IIS2CONFIG = (pcm_freq << 12) | 0x300 | 4 << 2; 287 IIS2CONFIG = (pcm_freq << 12) | 0x300 | 4 << 2;
288 EBU1CONFIG = 7 << 12 | 3 << 8 | 5 << 2; 288 EBU1CONFIG = 7 << 12 | 3 << 8 | 5 << 2;
289 DCR0 |= DMA_EEXT | DMA_START; 289 DCR0 |= DMA_EEXT | DMA_START;
290 sleep(HZ/8); 290
291 uda1380_mute(false); 291 uda1380_mute(false);
292 } 292 }
293 else if(!pcm_paused && !play) 293 else if(!pcm_paused && !play)