From 097444d07cf394919d7eba149dfe81161cd86453 Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Sun, 12 Jun 2005 15:14:20 +0000 Subject: Fixed some mp3 metadata reading performance problem. Next track switching should be more reliable. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6691 a1c6a512-1295-4272-9138-f99709370657 --- firmware/mp3data.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'firmware/mp3data.c') diff --git a/firmware/mp3data.c b/firmware/mp3data.c index 2b58710715..6e553eb94a 100644 --- a/firmware/mp3data.c +++ b/firmware/mp3data.c @@ -37,6 +37,11 @@ #include "file.h" #include "buffer.h" +#if defined(IRIVER_H100) && !defined(SIMULATOR) +#include "pcm_playback.h" +#include "kernel.h" +#endif + #define DEBUG_VERBOSE #define BYTES2INT(b1,b2,b3,b4) (((long)(b1 & 0xFF) << (3*8)) | \ @@ -259,6 +264,13 @@ static unsigned long __find_next_frame(int fd, long *offset, long max_offset, static int fileread(int fd, unsigned char *c) { +#if defined(IRIVER_H100) && !defined(SIMULATOR) + /* We don't want to eat all cpu power. Maybe better way to do this + should be implemented. */ + while (pcm_is_lowdata()) + yield(); +#endif + return read(fd, c, 1); } -- cgit v1.2.3