Hi, I am working on an open source VOIP project.
On MacOSX (tested with version 10.10 - Yosemite), we had an echo. So we wanted to add system echo canceller. kAudioUnitSubType_VoiceProcessingIO seems to be the appropriate solution. Our audio architecture (without echo canceller) is quite simple : - 1 ringbuffer : a circular buffer where audio samples are stored and loaded - 1 audio unit to capture micro (inputUnit_) * inputUnit_ is a subtype kAudioUnitSubType_HALOutput * inputUnit_ has a inputCallback that write audio samples from microphone to our ring buffer - 1 audio unit to output audio (outputUnit_) * outputUnit_ is a subtype kAudioUnitSubType_DefaultOutput * outputUnit_ has a RenderCallback that read audio samples from ring buffer and output them on speakers This system works fine, but as I said, we have an echo. The full GPL code is available there : http://pastebin.com/pth0f8wt I tried then to switch outputUnit_ from kAudioUnitSubType_DefaultOutput to kAudioUnitSubType_VoiceProcessingIO. I also ensure to disable output muting. The full GPL code is available there : http://pastebin.com/kAwL8fax With kAudioUnitSubType_VoiceProcessingIO, I still have an echo. Could you tell me what I am doing wrong ? Could we use kAudioUnitSubType_VoiceProcessingIO with my architecture ? Shall we use more complicated pattern such as AUgraph ? Thanks, Eloi _______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com This email sent to [email protected]
