From 349f39a7f4a0b78dc1e6e9e6bcbe6f484471cb74 Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Sun, 3 Jul 2005 15:25:06 +0000 Subject: Fixed pops when starting playback. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6993 a1c6a512-1295-4272-9138-f99709370657 --- firmware/pcm_playback.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'firmware/pcm_playback.c') diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c index 03afdace0a..6f395a58e2 100644 --- a/firmware/pcm_playback.c +++ b/firmware/pcm_playback.c @@ -248,7 +248,7 @@ void pcm_play_data(const unsigned char* start, int size, dma_start(start, size); /* Sleep a while, then unmute audio output */ - sleep(1); + sleep(HZ/8); uda1380_mute(false); } @@ -353,8 +353,14 @@ void pcm_init(void) ICR4 = (ICR4 & 0xffff00ff) | 0x00001c00; IMR &= ~(1<<14); /* bit 14 is DMA0 */ - pcm_play_init(); pcm_set_frequency(44100); + + /* Turn on headphone power with audio output muted. */ + uda1380_mute(true); + sleep(HZ/4); + uda1380_enable_output(true); + + pcm_play_init(); } void pcm_play_set_watermark(int numbytes, void (*callback)(int bytes_left)) @@ -699,11 +705,6 @@ void pcm_play_init(void) crossfade_active = false; crossfade_init = false; pcm_event_handler = NULL; - - /* Turn on headphone power with audio output muted. */ - uda1380_mute(true); - sleep(HZ/4); - uda1380_enable_output(true); } void pcm_crossfade_enable(bool on_off) -- cgit v1.2.3