I write test code to do as following:
1,Add my custom DSP that only transforms inbuffer(32bit) to 16bit data to System;
2,Push my 16bit audio data to Sound and record the data to 1.txt file;
3,Update the System and record the result data to 2.txt file;
4,I find the two types of 16bit data’s discrepancy is about 10.
Pls help, Thanks

Dear Brett:
I think this problem is complex.
I first set the system’s out by FMOD_OUTPUTTYPE_NOSOUND_NRT for none-realtime process.
Then create a sound by use flag FMOD_OPENRAW and put my 16bit data in it.
Finnally I use System::update() to drive the process.
Now I do createsoundexinfo.defaultfrequency = 44100, noise produce. But when I do createsoundexinfo.defaultfrequency = 48000, noise disappear although the data’s frequency is 44100 in fact.
Pls tell me why?
Best Regards.

Dear Brett:
I write a audio transform filter by using directshow and use FMODEx to process audio data.
I play a mp3 file to test it’s effect.
I have sent the source code to your mailbox.
The CDsp class encapsulates the function of FMODEx.
I use CDsp::Initial before i use it and CDsp::Uninitial fininally.The CDsp::DoAudioData does the real work.
Pls help, Thanks.

I know how the DSP unit works by document.
But now I want write a function to process input buffer by using DSP as following:
int ProcDataByDSP_HighPass(void pSampleIn, int nInDataLen, void *pSampleOut) {
/
Process Code
*/
return nOutDataLen;
}
I know that I should Create a sound by input data and using HighPass DSP, then use FMOD_OUTPUTTYPE_NOSOUND_NRT flag and System::update.But not sure how to do it step by step.
Thanks!

Dear brett:
Thanks for your help.
I have done the work, but have a problem as following:
I give the 16bit data as signed short type, and get the result data as float type from custom dsp. Then I translate the float type to signed short type with code: if(pfSrc >= 1.0f) {
*pnDst = 32767;
}
else if(pfSrc < -1.0f) {pnDst = -32768;
}
else {
*pnDst = signed short(pfSrc * 32768.0f);
}
As a result it produce noise because of misrepresentation.
How can I do to avoid this effect?