summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorMiika Pekkarinen <miipekk@ihme.org>2005-07-30 13:46:38 +0000
committerMiika Pekkarinen <miipekk@ihme.org>2005-07-30 13:46:38 +0000
commit6b807b2d248baee699eb2b5e43344cd278a7f01d (patch)
treeaf42015fea9f5965c948b268802424c0129173e7 /firmware
parent43b9cda13c5e6275de0921dc457af9760c95a53b (diff)
downloadrockbox-6b807b2d248baee699eb2b5e43344cd278a7f01d.tar.gz
rockbox-6b807b2d248baee699eb2b5e43344cd278a7f01d.zip
Fixed MAC initialization problem with mpa codec and removed workaround
for that bug. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7260 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r--firmware/export/system.h4
-rw-r--r--firmware/pcm_playback.c13
2 files changed, 4 insertions, 13 deletions
diff --git a/firmware/export/system.h b/firmware/export/system.h
index 39663f1087..712e87d3ef 100644
--- a/firmware/export/system.h
+++ b/firmware/export/system.h
@@ -125,6 +125,10 @@ enum {
: /* %0 */ "d"(mask), \
/* %1 */ "a"(address))
+static inline void mcf5249_init_mac(void) {
+ asm volatile ("move.l #0x20, %macsr;"); /* frac, truncate, no saturation */
+}
+
#endif
#ifndef SIMULATOR
diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c
index ce59faaf56..17350edfb5 100644
--- a/firmware/pcm_playback.c
+++ b/firmware/pcm_playback.c
@@ -184,19 +184,6 @@ void pcm_play_data(void (*get_more)(unsigned char** start, long* size))
callback_for_more = get_more;
- /** FIXME: This is a temporary fix to prevent playback glitches when
- * playing the first file. We will just drop the first frame to prevent
- * that problem from occurring.
- * Some debug data:
- * - This problem will occur only when the first file.
- * - First frame will be totally corrupt and the song will begin
- * from the next frame. But at the next time (when the bug has
- * already happened), the song will start from first frame.
- * - Dropping some frames directly from (mpa) codec will also
- * prevent the problem from happening. So it's unlikely you can
- * find the explanation for this bug from this file.
- */
- get_more((unsigned char **)&start, (long *)&size); // REMOVE THIS TO TEST
get_more((unsigned char **)&start, (long *)&size);
get_more(&next_start, &next_size);
dma_start(start, size);