Thanks a lot for your Prompt responses Clemens
Extremely sorry for my poor understanding,
Could you please clarify the following
1. As per your suggestions below, I didn't understand what is 'two channel devices' does this means do we need to have to real hardware sound card's (ie., two different audio codecs)??? whereas as of now am using only one audio codec( ie., UDA1345TS), if not could you please help me out how to use two channel devices using alsa api's in application or any references for the same???
2. Regarding bindings as you explained"bindings.x y" or "bindings { x y }" maps channel x of this device to channel y of the slave device.
I didn't understand channel x of this device means is it the real sound card??? which is the current device ie., channel x of this device means???
I didn't understand channel y of the slave device means??.. ie., which is slave device here????
Kindly do the needful as early as possible
Awaiting for your replies
Many Thanks in advance ________________________________________ From: Clemens Ladisch clemens@ladisch.de Sent: Thursday, April 2, 2015 3:13 PM To: Srinivasan S Cc: alsa-devel@alsa-project.org; linux-audio-dev@lists.linuxaudio.org Subject: Re: [alsa-devel] Fw: Using loopback card to Connect GSM two way call to the real sound card UDA1345TS
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