audio_policy: force cancel unexecuted device routing command

-unexecuted device routing command can be handled for a none active
 output and cause wrong audio routing for the other active output
-cancel the pending device routing command if stream is voice call
 and new device is none

Change-Id: Ia5aeb935ccbdcb63fe8b226f911d252f78e2fa9b
CRs-Fixed: 678582
Revert "audio: primary desc check for sonification"

This reverts commit 785b693a0fa89aebbec4137fc9cc52b2b160174f

Change-Id: I70cb4e74eb47b6fd936f9ddd8afb602441a9ad7e
CRs-Fixed: 656945
policy_hal: Set the output devices in ascending order of outputs

 -volume related issues are seen with customer app while setting
  device forcefully
 -Set the output devices in ascending order of outputs to make
  the overridden setForceUse API's code inline with base function.

Change-Id: I375b557de105be295c7bc246fe3f8325f55ce859
alsa_sound: call voice volume api for direct output also

- Voip volume is not applied on direct output and as a result
  volume cannot be adjusted for some voicemail applications
  which opens direct output stream with mode set to IN_CALL.
- Voice volume is applied only for primary output and volume
  command is not sent to HAL for direct output.
- Call voice volume api for direct output as well from policy
  manager.

Change-Id: Iad6dc31ba628408958e4d693b99062f502210a56
CRs-Fixed: 676599
hal: fix mutex unlock issue

If a audio/voice usecase is active, hal should re-try the speaker
calibration.Speaker portection mutex was not being unlocked for this
usecase which causes ANR.Change unlocks the mutex which fixes the issue.

CRs-fixed: 671620
Change-Id: Ic29697e29e96dba784941f4e29664b8c10f51e84
mm-audio: aenc: timestamp fixes

Save timestamp of first ETB as anchor time and use it
as reference in calculating timestamp for all future FBDs

Change-Id: Id937ac169c878fccf7d6f8fa660cb9ec321d4afa
CRs-Fixed: 639731
mm-audio: Remove omx decoder components from mm-audio folder

Remove omx decoder component from hal/mm-audio as
decoder component are used from proprietary/mm-audio folder

Change-Id: Ia9d4842f6939108a652d64912e1dec45a987b1e9
audio: Starting proxy thread when there is an active stream

- Proxy thread is started from DoRouting only when previous
  and current devices are external devices. When CS call
  is ended while BT Headset is connected, we get a route
  call to ear piece intermittently and then for BT A2DP to
  resume the music playback. As previous device is not
  external device, Proxy thread is not started automatically
  in this scenario. This is blocking pcm_write call for
  touch tones as ear piece is disabled and data is not
  consumed by proxy device as well

- Fix is to start proxy thread after the route call when
  pcm_write for any stream is in progress

Change-Id: I378419977a2ac5af6cd86aa52bf0cc97a3abcee8
CRs-fixed: 661252
Remove current msm7x30 audio HAL

This HAL is outdated & contains legacy code
Remove it so we can import the newest HAL from jb_2.5.3 branch
Import msm7630 audio HAL from jb_2.5.3 branch

Squashed import of the following CAF commits:

a0947f8 audio/msm7630: Initial commit for MR1 Audio bringup.
67550d7 audio: compile only if TARGET_USES_QCOM_MM_AUDIO set to true
51e24b7 msm7630 : Propagate the flag value to status
4642b91 Remove audio_poliy.conf from msm7630
b982f5a audio/8655: Enabling LPA playback by adding AudioSessionOutLPA class
fef3c65 audio/msm8655: Fix for AAC recording failure.
eeae23f msm7630 : Send proper channleMask for getInputProfile()
fe2acf4 Update copyright to The Linux Foundation
4931e2c audio/msm7630: Add usb audio hal profile.
04bcc5f audio/msm7630: Fix for volume change during voice call
58de776 7x30 : Port heap mask change to ion
c0a97d0 audio/msm7630: Fix the issue of voice call when HDMI connected
223c325 audio/msm7630: Fix to enable TTY device
387befb audio/msm7630: Add latency support for LPA
701b6c6 audio/msm7630: Fix for routing camcorded encoded clip audio to wired headset
a20c757 audio/msm7630: Fix for back to back VOIP calls failure
8f6be8a audio/msm7630 : Stability issue with LPA play back.

Signed-off-by: Michael Bestas <mikeioannina@gmail.com>
legacy/msm7x30: Use CM standard qcom naming

* Also add msm7x30 to the build barrier
audio/msm7x30: Fix build in CM

* Build without qcom audio calibration
* Hack for prebuilt libraries we don't have access to
* Little cleanup of makefile
audio/msm7x30: Fix log tags and disable debug logging

Change-Id: I4712b09c86e3a067b0c847661fa43828be6eee23
audio/msm7x30: Stop the log spam during VOIP calls

Change-Id: Idfe211b1fef6f2aeee51ebe7f1b6ce3f4a0787be
audio/msm7x30: disable logcat spam

Change-Id: I82ebb39e62f49c24f236cc9eeadbc303f8dbd823
audio/msm7x30: Fix for Echo in Gtalk

- Echo is observed in Gtalk.
- Audio HAL informs that clients that it handle the Echo
  cancellation and with AHAL client turns off the EC.
- EC is not supported in this PL remove it from getparam
CRs-Fixed: 427161

Change-Id: I62eba7ed7566045f61c34a51c8ac36029b8596ea
audio/msm7x30: Use q5v2_msm_audio_mvs_frame struct

Otherwise a packet size of 640, which 7x30 modem doesn't support,
will be used. 7x30 expects a packet size of 320.

Was changed in AudioHardware::AudioStreamOutDirect::write, but
seems to have been forgotten here.

Related kernel change: http://bit.ly/M7ZqMN

Change-Id: Ie89da836cbe27ea6b6cd10ef5c830ecc7020a624
legacy/msm7x30: Use audio policy from legacy/alsa_sound

* Clone of the legacy/alsa_sound audio policy HAL
audio/msm7x30: Only use earpiece when specified.

There are a few cases where the audio gets routed to earpiece, while it should
be at the speaker mode. To fix this, always default to speaker mode and only use
earpiece when it is specified.

Change-Id: I9fe2e54b20e2aa8aeac4b75b191a51790612f468
audio/msm7x30: fix a crash on audio initialize

Fixes crash on mediaserver if the device_count got from
audioalsa library is greater than DEVICE_COUNT in HAL

Change-Id: Ic5a29ddbee4f7b79ec944e6b48ef8272177659e6