diff options
| author | Miika Pekkarinen <miipekk@ihme.org> | 2005-06-10 17:33:16 +0000 |
|---|---|---|
| committer | Miika Pekkarinen <miipekk@ihme.org> | 2005-06-10 17:33:16 +0000 |
| commit | d30f1100ec8d74f3c187271590b03d589ad4b7dc (patch) | |
| tree | d7730bbc4c13073ae9bd5ca7b756f7238d7dac99 /apps/plugins/codecmpa.c | |
| parent | 68b9acd7de3f92e167146b002e3e782cfca924cb (diff) | |
| download | rockbox-d30f1100ec8d74f3c187271590b03d589ad4b7dc.zip rockbox-d30f1100ec8d74f3c187271590b03d589ad4b7dc.tar.gz rockbox-d30f1100ec8d74f3c187271590b03d589ad4b7dc.tar.bz2 rockbox-d30f1100ec8d74f3c187271590b03d589ad4b7dc.tar.xz | |
Much better UI performance and buffering times for MP3 and FLAC.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6653 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/codecmpa.c')
| -rw-r--r-- | apps/plugins/codecmpa.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/apps/plugins/codecmpa.c b/apps/plugins/codecmpa.c index 88f6b8c..bf6cf3f 100644 --- a/apps/plugins/codecmpa.c +++ b/apps/plugins/codecmpa.c @@ -198,6 +198,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parm) int fd; #endif int i; + int yieldcounter = 0; /* Generic plugin inititialisation */ @@ -217,6 +218,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parm) /* Create a decoder instance */ ci->configure(CODEC_SET_FILEBUF_LIMIT, (int *)(1024*1024*2)); + ci->configure(CODEC_SET_FILEBUF_CHUNKSIZE, (int *)(1024*16)); next_track: memset(&Stream, 0, sizeof(struct mad_stream)); @@ -379,10 +381,14 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parm) goto song_end; } + if (yieldcounter++ == 200) { + rb->yield(); + yieldcounter = 0; + } + /* Flush the buffer if it is full. */ if(OutputPtr==OutputBufferEnd) { - rb->yield(); #ifdef DEBUG_GAPLESS rb->write(fd, OutputBuffer, OUTPUT_BUFFER_SIZE); #endif |