From 58c71e0e366c174fd6f71446758fe311e68f4bee Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Tue, 14 Jun 2005 09:25:28 +0000 Subject: Pause and probably some crashes fixed. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6706 a1c6a512-1295-4272-9138-f99709370657 --- firmware/pcm_playback.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c index 3548caded5..83b7b2fc2e 100644 --- a/firmware/pcm_playback.c +++ b/firmware/pcm_playback.c @@ -116,8 +116,6 @@ void pcm_boost(bool state) static void dma_stop(void) { pcm_playing = false; - uda1380_enable_output(false); - pcm_boost(false); /* Reset the FIFO */ IIS2CONFIG = 0x800; @@ -225,14 +223,17 @@ void pcm_play_data(const unsigned char* start, int size, get_more(&next_start, &next_size); /* Sleep a while, then power on audio output */ - sleep(HZ/16); - uda1380_enable_output(true); + sleep(HZ/16); + uda1380_enable_output(true); } void pcm_play_stop(void) { - if (pcm_playing) + if (pcm_playing) { + uda1380_enable_output(false); + pcm_boost(false); dma_stop(); + } pcmbuf_unplayed_bytes = 0; last_chunksize = 0; audiobuffer_pos = 0; @@ -245,11 +246,8 @@ void pcm_play_stop(void) pcm_set_boost_mode(false); } -/* Pausing will cause irregular crashes. Should be fixed. */ void pcm_play_pause(bool play) { - return ; - if(pcm_paused && play && pcmbuf_unplayed_bytes) { /* Enable the FIFO and force one write to it */ -- cgit v1.2.3