IOAudioMixerEngine.cpp
IOAudioMixerEngine.cpp
- Subject: IOAudioMixerEngine.cpp
- From: Nathan Aschbacher <email@hidden>
- Date: Wed, 07 Aug 2002 14:38:07 -0700
Okay so I'm trying to clarify something.
It looks as though that IOAudioMixerEngine.cpp implements the
IOAudioFamily's main mixing function called "mixOutputSamples".
Am I to understand that this is where the CPU spends it's time mixing audio
buffers for use by the rest of the audio pipeline. If so it seems very
minimalist doing primarily 4 sequential additions and some clean-up work. I
don't understand why this function has such a high CPU burden given that it
doesn't do much and what it does do is almost the fastest operation that the
FPU can do. Which I guess is what makes me skeptical out whether or not
this is the right place to be looking to override a function to prevent the
main CPU from having to continually mix the audio buffers itself.
If I were to re-implement this "mixOutputSamples" function I could
effectively write my own lowest level mixer using the hardware on a
dedicated audio card to reach into the sourceBuf and the MixBuf and do the
additions on the buffer segments itself. Now there's a whole other host of
problems with data types and format that I think I'll have to deal with if
this is possible, but I'd really just first like to know if I override the
IOAudioEngine::mixOutputSamples function in the PCI audio driver will that
in effect give me early access to the audio data before the CPU starts
working to manipulate it.
Thanks Very Much,
Nathan Aschbacher
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.