Am Donnerstag, den 23.06.2005, 12:41 +0200 schrieb Armin Schindler: > > I strongly disagree. :-) You dont want to do echo cancelation in > > userspace. Especially not on a non-realtime operating system. > > To make echo cancelation work it has to be as close to the line > > interface as possible. Also the frames have to be as small > > as possible. This rules out capi pretty much. > > If you don't want echo-canceling in user-space, then neither Asterisk nor > any chan_* plugin should do it. > > I don't know the zap channel code, but does the zap echo-cancel-code is > inside a kernel module?
Yes, sir. > If yes, then I have to disagree here. Something like 'playing' with > audio-data is nothing the kernel should be concerned with. > This belongs in user-space and if you need realtime, then you should use a > realtime OS or use RT-scheduling. Just putting such a code into kernelspace > is a bad idea. What is so bad about "playing" with audio-data in kernel space? If you "play" with echo cancelation in user space you will need to de-jitter the audio first introducing more and more latency, so your echo cancelation becomes way more computationally expensive. > > So the correct way is either the hardware supports it or the > application knows what to do with the data received, like DTMF. > Why should the application have to worry about things like echo cancelation? Zaptel is not only used by Asterisk but also by other projects. With EC in kernel space (which gets switched on and off by userspace) there is no need to reinvent the EC-wheel for every project. Klaus _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users