Index: apps/playback.c =================================================================== RCS file: /cvsroot/rockbox/apps/playback.c,v retrieving revision 1.335 diff -u -r1.335 playback.c --- apps/playback.c 3 Aug 2006 07:45:53 -0000 1.335 +++ apps/playback.c 3 Aug 2006 16:11:29 -0000 @@ -2541,23 +2541,22 @@ { size_t offset; + /* Set up basic buffers, assuming no voice codec required */ filebuf = (char *)&audiobuf[MALLOC_BUFSIZE]; filebuflen = audiobufend - audiobuf - MALLOC_BUFSIZE - GUARD_BUFSIZE - (pcmbuf_get_bufsize() + get_pcmbuf_descsize() + PCMBUF_MIX_CHUNK * 2); - if (talk_get_bufsize()) - { - filebuf = &filebuf[talk_get_bufsize()]; - filebuflen -= 2*CODEC_IRAM_SIZE + 2*CODEC_SIZE + talk_get_bufsize(); + /* Adjust for voice buffering */ + filebuf = &filebuf[talk_get_bufsize()]; + filebuflen -= 2*CODEC_IRAM_SIZE + 2*CODEC_SIZE + talk_get_bufsize(); + /* Set up codec storage */ #ifndef SIMULATOR - iram_buf[0] = &filebuf[filebuflen]; - iram_buf[1] = &filebuf[filebuflen+CODEC_IRAM_SIZE]; + iram_buf[0] = &filebuf[filebuflen]; + iram_buf[1] = &filebuf[filebuflen+CODEC_IRAM_SIZE]; #endif - dram_buf[0] = (unsigned char *)&filebuf[filebuflen+CODEC_IRAM_SIZE*2]; - dram_buf[1] = - (unsigned char *)&filebuf[filebuflen+CODEC_IRAM_SIZE*2+CODEC_SIZE]; - } + dram_buf[0] = (unsigned char *)&filebuf[filebuflen+CODEC_IRAM_SIZE*2]; + dram_buf[1] = (unsigned char *)&filebuf[filebuflen+CODEC_IRAM_SIZE*2+CODEC_SIZE]; /* Ensure that everything is aligned */ offset = (-(size_t)filebuf) & 3; @@ -2602,9 +2601,6 @@ voice_codec_loaded = false; } - if (!talk_get_bufsize()) - return ; - logf("Starting voice codec"); queue_init(&voice_codec_queue); voice_thread_num = create_thread(voice_codec_thread, voice_codec_stack,