I have been studying the PhantomAudioDriver sample in order to write my own
audio driver. I see that the timerFired (IOTimerEventSource) is simulating
a DMA interrupt. When this "interrupt" occurs, it means that the
currentBlock has been transferred.
I would like to do this from a userland application. Any suggestions on how
I could do this?
I thought of sharing the outputBuffer and the currentBlock with the userland
app, but I would need to modify the userclient. I don't think I have access
to it; it's provided for me by the IOAudioDevice?
The other problem with this approach is: how do I timestamp the wrap-around
of the ring buffer from the userland app?
Any suggestions or recommendations?