Srinivasan S wrote:
CPU consumption is 18%, with above asound.conf & the app alsa_loopback_min_mono.c for establishing my GSM two way call (ie., VINR to VOUTR & VINL to VOUTL) , this is very huge & I want to reduce this CPU consumption drastically, Is there any other ways in alsa where I can do this two way GSM call (ie., VINR to VOUTR & VINL to VOUTL) without using alsa_loopback_min_mono.c application
dmix needs more CPU than dshare because it needs to mix multiple streams together; if possible, use dshare instead of dmix.
dshare needs more CPU than direct access to the device because the data needs to be copied and reformatted. dshare is needed only when the application(s) cannot handle the format of the actual device; if possible, change your application to handle the two-channel devices.
And am hearing echo, when I do GSM calls when using the above attachd asound.conf & the app alsa_loopback_min_mono.c, could you please help me out is there any options to do echo cancellation in alsa?
ALSA has not built-in echo cancellation. You have to implement this yourself, or use some third-party library.
If dmix/dshare alone eats 18 % CPU, it is unlikely that this is feasible without hardware support.
Am trying to completely understand the above attched asound.conf, but am not still very clear w.r.t the understanding of bindings
"bindings.x y" or "bindings { x y }" maps channel x of this device to channel y of the slave device.
Regards, Clemens