summaryrefslogtreecommitdiff
path: root/firmware/pcm_playback.c
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2005-07-03 15:25:06 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2005-07-03 15:25:06 +0000
commit349f39a7f4a0b78dc1e6e9e6bcbe6f484471cb74 (patch)
tree773b4b1270d9b7d34165db55156ef283e88ef377 /firmware/pcm_playback.c
parentbb3ed3cda98dc59719f5ab48fafc542eaa0d29a0 (diff)
downloadrockbox-349f39a7f4a0b78dc1e6e9e6bcbe6f484471cb74.tar.gz
rockbox-349f39a7f4a0b78dc1e6e9e6bcbe6f484471cb74.zip
Fixed pops when starting playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6993 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/pcm_playback.c')
-rw-r--r--firmware/pcm_playback.c15
1 files changed, 8 insertions, 7 deletions
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,
248 dma_start(start, size); 248 dma_start(start, size);
249 249
250 /* Sleep a while, then unmute audio output */ 250 /* Sleep a while, then unmute audio output */
251 sleep(1); 251 sleep(HZ/8);
252 uda1380_mute(false); 252 uda1380_mute(false);
253} 253}
254 254
@@ -353,8 +353,14 @@ void pcm_init(void)
353 ICR4 = (ICR4 & 0xffff00ff) | 0x00001c00; 353 ICR4 = (ICR4 & 0xffff00ff) | 0x00001c00;
354 IMR &= ~(1<<14); /* bit 14 is DMA0 */ 354 IMR &= ~(1<<14); /* bit 14 is DMA0 */
355 355
356 pcm_play_init();
357 pcm_set_frequency(44100); 356 pcm_set_frequency(44100);
357
358 /* Turn on headphone power with audio output muted. */
359 uda1380_mute(true);
360 sleep(HZ/4);
361 uda1380_enable_output(true);
362
363 pcm_play_init();
358} 364}
359 365
360void pcm_play_set_watermark(int numbytes, void (*callback)(int bytes_left)) 366void pcm_play_set_watermark(int numbytes, void (*callback)(int bytes_left))
@@ -699,11 +705,6 @@ void pcm_play_init(void)
699 crossfade_active = false; 705 crossfade_active = false;
700 crossfade_init = false; 706 crossfade_init = false;
701 pcm_event_handler = NULL; 707 pcm_event_handler = NULL;
702
703 /* Turn on headphone power with audio output muted. */
704 uda1380_mute(true);
705 sleep(HZ/4);
706 uda1380_enable_output(true);
707} 708}
708 709
709void pcm_crossfade_enable(bool on_off) 710void pcm_crossfade_enable(bool on_off)