This is my first post in the forum, so first would just like to thank everyone who have been working on Circle. The process getting it to work was super simple and I've been able to cross-compile bundled examples without issues.
Anyway, I'm new to Circle and would like to understand better how the audio system works. I have modified the miniorgan example so support more advanced audio synthesis and things kind of work, but i have noticed that GetNextChunk() should return fairly quickly or there's corrupted output.
I'm using the default buffer size 2048 (which should translate to 23ms worth of audio stream?) and I thought it would be ok to spend up to 23ms in generating the buffer which should be plenty of time given the CPU speed on pi3 b+. However, If I add anything more complex than few sin(x) I start to get corrupted output so I was thinking is there some limit for processing time caused by the interrupts/DMA system that would require GetNextChunk() return much quicker than in 23ms max.
Any help or guidance would be appreciated. I'm new to Raspberry PI and Circle so bare with me if these should be obvious