1
0
Fork 0
forked from len0rd/rockbox

Fix a fixme in flac and make the usage of the read_filebuf codec api more consistent with its actual contract.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15303 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Brandon Low 2007-10-25 18:58:44 +00:00
parent 35f23267bf
commit 4bde8982f1
2 changed files with 9 additions and 19 deletions

View file

@ -1204,8 +1204,6 @@ unsigned short LoadSIDFromMemory(void *pSidData, unsigned short *load_addr,
enum codec_status codec_main(void)
{
size_t n, bytesfree;
unsigned char *p;
unsigned int filesize;
unsigned short load_addr, init_addr, play_addr;
@ -1229,20 +1227,16 @@ next_track:
codec_set_replaygain(ci->id3);
/* Load SID file */
p = sidfile;
bytesfree=sizeof(sidfile);
while ((n = ci->read_filebuf(p, bytesfree)) > 0) {
p += n;
bytesfree -= n;
}
filesize = p-sidfile;
/* Load SID file the read_filebuf callback will return the full requested
* size if at all possible, so there is no need to loop */
filesize = ci->read_filebuf(sidfile, sizeof(sidfile));
if (filesize == 0)
return CODEC_ERROR;
c64Init(44100);
LoadSIDFromMemory(sidfile, &load_addr, &init_addr, &play_addr, &subSongsMax, &subSong, &song_speed, filesize);
LoadSIDFromMemory(sidfile, &load_addr, &init_addr, &play_addr,
&subSongsMax, &subSong, &song_speed, filesize);
sidPoke(24, 15); /* Turn on full volume */
cpuJSR(init_addr, subSong); /* Start the song initialize */