diff options
| author | Andree Buschmann <AndreeBuschmann@t-online.de> | 2011-05-22 21:00:32 +0000 |
|---|---|---|
| committer | Andree Buschmann <AndreeBuschmann@t-online.de> | 2011-05-22 21:00:32 +0000 |
| commit | de1529c4eb711a331dfa156efdb799149eb52068 (patch) | |
| tree | d325cf8651608b6c44785cbcf76e7597c630895f | |
| parent | d038f89f3fc403f8a9ef03cd08461988f9c74c59 (diff) | |
| download | rockbox-de1529c4eb711a331dfa156efdb799149eb52068.zip rockbox-de1529c4eb711a331dfa156efdb799149eb52068.tar.gz rockbox-de1529c4eb711a331dfa156efdb799149eb52068.tar.bz2 rockbox-de1529c4eb711a331dfa156efdb799149eb52068.tar.xz | |
Save a large static buffer in sid codec.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29915 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/codecs/sid.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/apps/codecs/sid.c b/apps/codecs/sid.c index 46c4a54..291b9ca 100644 --- a/apps/codecs/sid.c +++ b/apps/codecs/sid.c @@ -66,6 +66,7 @@ CODEC_HEADER #define CHUNK_SIZE (1024*2) +#define SID_BUFFER_SIZE 0x10000 /* This codec supports SID Files: * @@ -73,9 +74,6 @@ CODEC_HEADER static int32_t samples[CHUNK_SIZE] IBSS_ATTR; /* The sample buffer */ -/* Static buffer for the plain SID-File */ -static unsigned char sidfile[0x10000]; - void sidPoke(int reg, unsigned char val) ICODE_ATTR; #define FLAG_N 128 @@ -1225,6 +1223,7 @@ enum codec_status codec_run(void) unsigned int filesize; unsigned short load_addr, init_addr, play_addr; unsigned char subSongsMax, subSong, song_speed; + unsigned char *sidfile = NULL; intptr_t param; if (codec_init()) { @@ -1236,7 +1235,7 @@ enum codec_status codec_run(void) /* Load SID file the read_filebuf callback will return the full requested * size if at all possible, so there is no need to loop */ ci->seek_buffer(0); - filesize = ci->read_filebuf(sidfile, sizeof(sidfile)); + sidfile = ci->request_buffer(&filesize, SID_BUFFER_SIZE); if (filesize == 0) { return CODEC_ERROR; |