alsa_sound: Maintain separate mute states for each call type.

   Mute is not proapagated to CS call session during
   SRVCC handover.

   This is due to mute state is not updated to CS call
   session when SRVCC handover happens.

   Fix is to maintain different mute states to different
   call types, so that mute state will be updated on
   each call type independently.

   CRs-Fixed: 516986

Change-Id: I88a589ce74bba3e4018e0455f0008b5f1cb002e8
alsa_sound : send voc-cal data for play voip use case

- Volume not being changed when playing voicemail
  during MODE_IN_CALL
- The calibration data was not being sent to the DSP
  for the play voip use case
- Setting the current modifier properly
  Permitting sending of calibration data despite
  no change in rx and tx devices

Change-Id: Ice9599941d3d6c115daa63c44bf4a1daa8f50ba3
CRs-Fixed: 508126
Merge "   alsa_sound: Maintain separate mute states for each call type."
Merge "alsa_sound : send voc-cal data for play voip use case"
alsa_sound: primary desc check for sonification

- Audio glitches on alarm expiry if alarm starts
  on screen lock/standby mode

- On alarm expiry alarm tone will start play on combo device
  &screen unlock tone try to play on headset which results
  multiple device switch, as a result audio glitches are audible

- If sonfication strategy is used by primary desc , we will
  treat all non music streams with sonfication stragey which
  will avoid device switch

CRs-Fixed: 514467

Change-Id: I922210ff5d8538dc752a2c3a20676efb05809c83
audio: fix for volume burst during FM device switch

- Issue: Volume burst is heard during device switch
  (headphone and speaker) for FM playback
- Root cause: delayMs passed to CheckAndSetVolume is
  not applied for FM playback
- Fix: Double delayMs and apply FM volume with this delay

CRs-Fixed: 526553

Conflicts:

	alsa_sound/AudioPolicyManagerALSA.cpp

Change-Id: Ib7c7bd59ed584f85ea79a7606c635d60dffa3471
Merge "audio: fix for volume burst during FM device switch"
Merge "alsa_sound: primary desc check for sonification"
alsa_sound:  Fix to avoid crash while erasing item from mDeviceList

-In AudioHardwareALSA's destructor,while erasing item from mDeviceList
is leading to crash in current implementation, if List containing
more than one item.
-This is happening because of Invalid iterator value after deleting
current item from List, then using same iterator for next operation.
-It can avoid returning an Iterator item form List's erase function
and then use it for next operation.

Change-Id: I30ba5b5a9904c1d3cad1f470f9fae84d23a90aa5
CRs-Fixed: 517101
(cherry picked from commit 41d7bad968b94bc8ac1d6ea92849b2792604963e)
Merge "alsa_sound:  Fix to avoid crash while erasing item from mDeviceList"
alsa_sound: Fix Echo reference logic

-During Skype call , there is Echo hearing at far end device.
-This is happening because Echo reference is setting after enabling
 the devices, so a wrong EC reference id is sending to DSP.
-Echo reference should be set even before enabling the devices.

Change-Id: Ibd23dd9be11c7b1ae882a633be3d55779bc72c7c
CRs-Fixed: 536541
(cherry picked from commit d0dd74fbaff448194f49057fe3e16c16debc8f02)
Merge "alsa_sound: Fix Echo reference logic"
Merge branch 'jb_2.5' of git://codeaurora.org/platform/hardware/qcom/audio into cm-10.2

Change-Id: If58c40a26d116bbc9379237499682dcb4f700197
alsa_source: Undo the proxy/latency changes

 * This change causes problems on 4.3, revert it all.

Change-Id: I1d703e379fa9949fb4d8d51c59515acf68a97793