I think there's an ascii art layout of the buffer somewhere in the code, but yours is pretty close to correct.
The reset_buffers method and pcmbuf_init methods give this information after a careful enough reading :-P Here's an edited version to the best of my knowledge --- audiobuf (initially) tagcache (optional, size varies) ---- dircache (optional, size varies) ---- voice thumbnail buffer (optional, size MAX_THUMBNAIL_BUFSIZE) --- voice file (optional, size of voice file) ---- audiobuf (after initialisation) codec malloc buffer (size MALLOC_BUFSIZE) ---- filebuf (audiobuf[MALLOC_BUFSIZE]) compressed codec data + guard buffer to allow guaranteed block size reads --- filebuf + filebuflen audio codec IRAM (size CODEC_IRAM_SIZE) --- voice codec IRAM (optional, size CODEC_IRAM_SIZE) --- audio code DRAM (size CODEC_SIZE) --- voice codec DRAM (optional, size CODEC_SIZE) --- audiobufend - pcmbuf_size + pcmbufdesc_size PCM buffers, including descriptors --- audiobufend Thanks for working on this code in my absence, Brandon Low On 2006-08-16 (Wed) at 18:55:38 +0100, Steve Bavin wrote: > Hi, > > This is a call to all developers who know and understand playback.c. ;-) > > Can somebody produce, or point me in the direction of, a basic memory map > showing how the audio buffer is used on SWCODEC targets. > > I have a rough, and very probably incorrect outline: > > --- audiobuf (initially) > tagcache (optional, size varies) > ---- > dircache (optional, size varies) > ---- > voice thumbnail buffer (optional, size MAX_THUMBNAIL_BUFSIZE) > --- > voice file (optional, size of voice file) > ---- audiobuf (after initialisation) > codec malloc buffer (size MALLOC_BUFSIZE) > ---- filebuf > PCM buffers, including guard buffers/descriptors > --- filebuf + filebuflen > audio codec IRAM (size CODEC_IRAM_SIZE) > --- > voice codec IRAM (optional, size CODEC_IRAM_SIZE) > --- > audio code DRAM (size CODEC_SIZE) > --- > voice codec DRAM (optional, size CODEC_SIZE) > --- audiobufend > > I intend to put this in the wiki if this information doesn't already exist > in there (and if it does, I can't find it!) > > Thanks, > Steve Bavin > > >
