Move in audio_policy with the audio source

Change-Id: Ic27bd727c3ee9a5291ad066d9b98fd1dd8ab0f5a
audio: Make sure voice_ul_volume array is initialized.

This suppresses a compiler warning.  The code makes sure that it is
initialized.

Change-Id: I8cf772709a14ac562bace54c344cdb1526b19cc0
Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
audio: Add a separate HAL for HDMI audio

Creating an audio HAL for HDMI because:

  * The HDMI card is already a separate card from
    the OMAP ABE audio.

  * The needs of HDMI are getting more specialized
    (e.g. things like multichannel audio, bitstream
    audio, etc.)

  * Things in the OMAP ABE HAL are getting a bit
    cramped and complex, and it would be better to
    reduce the complexity rather than add to it.

This version is provides the same functionality as audio_hw.c

Change-Id: Ifcf1cca4f7f49bcabc14c20105a9ddc40f2e33e3
Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
audio: Remove HDMI from the OMAP ABE HAL

Change-Id: I973e47d130264e354b0f78043a92c63f370da311
Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
audio: hdmi: add dynamic multichannel support

This patch parses the HDMI EDID to find the capabilites of the sink
device.  It communicates this information to Android so that it can
make the proper decisions about routing multichannel streams.

When parsing the EDID we look for:

  * Audio Bit (whether or not sink supports audio)

  * Speaker Allocation Data Block (if any), which
    declares which speakers are attached to the sink.

  * Audio Data Allocation Block (if any), which
    declares extended capabilities not implied by the
    Audio Bit.

The speaker allocation block is parsed to see which channel profiles
it supports (stereo, quad, surround, 5.1, and 7.1).

Change-Id: Ic2ff57acd8f1d4b92ca4034e2a5800d0b69a3e05
Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
audio: fix number of samples sent to echo cancellation processing

Change the return value of push_echo_reference() from void to int.
This number of speaker signal samples is used to send the same
number of mic samples to the echo cancellation processing.

Cherry-pick from ICS to JB.
Change-Id: I40cedcce9fa698f811e188688795baf97d3af557
Signed-off-by: Bryan Honza <honza@ti.com>
Signed-off-by: Barry Woodward <a0270655@ti.com>
audio: Implement adev_set_mic_mute

The mic mute function sets to 0 the voice uplink volume if state
parametter is true, else it sets it to default volume (0dB or 6dB).

We mute the voice uplink in the voice call mode, else
in the multimedia mode we mute all mics.

To use this AESS mute instead of the default mute made by the modem,
set to "true" the send_mic_mute_to_AudioManager resource in the
packages/apps/Phone/res/values/config.xml file.

Change-Id: I321049e02a8b96c81a7d7281666818237989905e
Signed-off-by: Cedric Poignet <c-poignet@ti.com>
audio: make audio HAL omap board generic

Change-Id: I1212162c00a148eb051ebb0e4b8deded8aa5e3fd
Signed-off-by: Francois Mazard <f-mazard@ti.com>

Conflicts:

	audio/audio_hw.c
AudioHAL: Use proper audio input source for camcoder use case.

Use wired headset for camcoder recording use case if switched
and sub mic in other case.

Change-Id: I300922dae8f06f6b33be28cdbcb2ee57398a1fb3
Signed-off-by: Sergii Iegorov <x0155539@ti.com>

Conflicts:

	audio/audio_hw.c
AudioHAL: Don't check parameters while getting buffer size.

Getting of input buffer size function looks like rather
static utility than checking of actual capabilities of
particular HAL. So, primary HAL should provide input
buffer size regardless of does it actually support
multichannel or not.

Change-Id: I9d2b4a5854fa4ab497b17d236463b617d0ac716a
Signed-off-by: Sergii Iegorov <x0155539@ti.com>

Conflicts:

	audio/audio_hw.c
audio: Remove "deep buffer" declarations in audio_policy.conf

The HAL doesn't support "deep buffer" yet, so we should not declare
it.  This caused a deadlock because AudioFlinger tried to open the
same port twice.  The "deep buffer" concept is a multi-port solution.

Change-Id: Ib0a7cec06af5ba3bc9e84d0b2f72f989814ae1ec
Signed-off-by: Gabriel M. Beddingfield <gabrbedd@ti.com>
Let the audiomanager handle phone mutes

Change-Id: I23afc29a949ef786c137f516349ca6b9b52ee31c