David Janssens writes: >I agree the ticking must be due to buffer underruns, but I don't see how >it's possible!!! >The tungsten has a 144MHz processor. ... >> >As you suggested, I tried to play a long 440Hz tone: >> >Using 16bit samples at a 44100 rate, I used this code: >> > >> >SndStreamCreate(&playstream, sndOutput, 44100, sndInt16Little, >> > sndMono, getbuf, &pctx, 16384, false);
The last parameter in the above call is "false". This means the callback is in emulated 68k code, not native armlet code. On a TT, 68k code seems to execute at roughly the rate of a 40 MHz 68000, and a 68000 takes several cycles (4 to 12) to execute a single simple instruction. There's also the issue that your sound buffer is larger than the size of the cache, so there will be memory delays while the cache flushes and refills. There might also be issues with how busy the GUI (non-callback) thread is, but I'm not sure. My test code spends most of the GUI thread polling for the next event. IMHO. YMMV. Ron Nicholson HotPaw Productions <http://www.hotpaw.com/rhn/hotpaw> -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
