Revert "Revert "alsa_sound: Calculate proxy port latency""

This reverts commit b7d4839fff30b743458a6e62e94b9413dbbd4da8.
Remove High water mark check in ALSA Device

- High water mark framecount check while reading from proxy
  device is causing issues during A2DP Music Playback
- Remove this check to avoid freeze during A2DP Playback

Change-Id: If066438c9f1886aa29ad57ccba154e0ca970a5f3
alsa_sound: Add boundary check for alsa appl and hw ptr

for continuous playback the hw_ptr and appl_ptr may go beyond boundary.
The overflow check is required to ensure boundary check.

CRs-Fixed: 483203
Change-Id: I8c56a97ad1cc2a895f904bb9c03f23714ea61035
alsa_sound:Removed AWB from tunneled-input-formats

-AMRWB recording is failing because tunnelled mode is
 getting enabled in Sound Recorder use case
-Fix is to remove AWB parameter from tunneled-input-
 formats as it is not supported on A Family devices

Change-Id: I0cfc9b62639dfd179bc13af0988776a6c89999da
CRs-fixed: 521809
libalsa-int: Check for valid mixer control

 When the mixer value is NULL , the mixer_close function
 crashes.
 Added a check to make sure that only a valid mixer function
 is handled

 CRs-Fixed: 516186
Change-Id: I61a45e4fbc68fbd82fdcb8f372e5b66a36487f2f
alsa_sound: Fix to Support in-call uplink recording

Uplink recording during voice call fails as the case was not
 getting handled while opening the input stream.
 -Added support for Incall Uplink recording in openInputStream.

GTalk call doesn't work if call is started during an existing
 recording session. All subsequent calls are failing after this
 scenario
 - Move the pcm device node open to read() call instead which will
   avoid opening the pcm device node of normal recording session
   and doesn't go into the error state. This will allow GTalk call
   to work and also all the subsequent calls to work

CRs-Fixed: 517810
Change-Id: I440ac4090b9f3e3a70b8acb4a818cfbf97e8c868
alsa_sound :Starting "UsbRecordingThread" if not started

- Recorder stop() was getting called in hangout app before the
  call got connected, this will stop UsbRecordingThread.
  Recorder set() is called with a sample rate of 48k due to which
  the USB recording thread doesnt get re-started because for VOIP
  the sample rate expected is 8/16k.

- UsbRecordingThread has to get started when the call
  gets connected.

Change-Id: I12c4d1f473224de7df2041f22fdc45cf77ac4acb
CRs-Fixed: 516270
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