| Usage |
Start pointer |
Size |
| font buffer |
mbuf |
MAX_FONT_SIZE |
| dircache |
audiobuf (initially) |
varies |
| DataBase |
|
varies |
| DataBase search instructions |
|
varies |
| playlist storage |
|
configurable |
| tree storage |
|
configurable |
| LastFMLog cache |
scrobbler_cache |
SCROBBLER_MAX_CACHE * SCROBBLER_CACHE_LEN (optional) |
| Cuesheet buffer |
|
2 * sizeof(struct cuesheet) (optional) |
| voice thumbnail buffer (.talk clips) |
|
MAX_THUMBNAIL_BUFSIZE |
| voice file |
audiobuf (after initialisation complete) |
talk_get_bufsize() |
| codec malloc buffer |
&audiobuf[talk_get_bufsize()] |
MALLOC_BUFSIZE |
| compressed codec data (+ guard buffer) |
filebuf = &audiobuf[talk_get_bufsize()+MALLOC_BUFSIZE] |
as big as possible |
| audio codec IRAM |
filebuf + filebuflen |
CODEC_IRAM_SIZE |
| voice codec IRAM |
|
CODEC_IRAM_SIZE (if talk_voice_required()) |
| audio codec DRAM |
|
CODEC_SIZE |
| voice codec DRAM |
|
CODEC_SIZE (if talk_voice_required()) |
| PCM buffers/descriptors |
audiobufend - (pcmbuf_size + pcmbufdesc_size + PCMBUF_MIX_CHUNK*2) |
pcmbuf_size + pcmbufdesc_size |
| PCM crossfade buffer |
audiobufend - PCMBUF_MIX_CHUNK*2 |
PCMBUF_MIX_CHUNK |
| PCM voice mix buffer |
audiobufend - PCMBUF_MIX_CHUNK |
PCMBUF_MIX_CHUNK |
| (end) |
audiobufend |
|