We should try to figure out if it also affects real hardware targets
or just maemo / other RaaA targets.

Cheers,
Thomas

The software mixer and the PCM buffer are distinct entities. The PCM buffer is called by the mixer and the callback is very lightweight, much more so than before revisions with timestamping. The PCM buffer frames are 2048 samples (to provide accurate elapsed information without much jitter and accurate enough for A-B repeat). The software mixer frames are fixed length. 256 samples by default, always, to have very low latency. Certain non-DMA using targets have it shorter to deal with the short HW fifos and the fact that mixing is done in the ISR.

On real targets, the impact of the software mixer was pretty negligble and in the PortalPlayer 502x case, it actually reduced CPU load a bit since cache flushes weren't needed to maintain coherency for DMA (buffers are IRAM). On RaaA, I have no idea what the impact was. Some things have a cost afterall.

Shorter/longer frames are possible for the mixer based upon targets but it should keep things reasonably responsive. Longer mixer frames means each double buffer frame is longer, thus needing more memory, which might be scarce IRAM.

Regards,
Mike

Reply via email to