Google Groups

Re: [android-porting] Audio routing

Gabriel Beddingfield Apr 29, 2012 1:52 PM
Posted in group: android-porting
On 04/29/2012 04:36 AM, venkat k raju wrote:
> Dear all,
> how to route gsm channel audio to processor audio channel(mcbsp)?
> is it software control or hardware control?
> if software control can anybody suggest me

In ICS the routing is controlled by the Audio HAL.  Typically
/system/hw/audio.primary.<device_name>.so.  (In GB it was something
similar, but different.)

Therefore, how it's handled is specific to the capabilities of the
device.  For example, the Audio Back-End (ABE) of OMAP 4 processors
allows fairly flexible mixing and routing.  It's able to move the audio
directly from the modem to the audio codec (bypassing the CPU) so that
it can be heard out the handsfree speaker or headset.  It can also route
the audio to an ALSA capture port to utilise it in userspace.  These
routings are usually controlled with ALSA mixer settings.

And if the hardware doesn't support it... then often the "glue" code
will be added in the HAL.

I would start with looking at existing Audio HAL's.  In the source tree
it's usually located at device/<vendor>/<device>/audio/audio_hw.c.