hal: Set echo reference from mixer file

Set echo reference from mixer file.
Change-Id: I8b9d1209002ead0f82eb6052d41ab00ba41ce6a2
Revert "  hal: Fix device disable/enable sequence"

This reverts commit 8db53270733939a81e5fdda89de3c8c0eaf939e4.

Change-Id: Id6cf69819bc97bde73dbdcc007afe550b81668d1
hal: Correct PCM offload fragment size

- Correct the fragment size to use bytes instead of bits
  per sample
- Use 80ms as pcm offload buffer duration for video streaming
  usecases and 1 sec for video + audio usecases

Change-Id: Iec8e24c2b158368742a55710a46da94ce5d3c170
audio: Remove unused var 'update_mixer'

Remove update_mixer (as its unused) and change function
signatures wherever used.

Change-Id: I465ddc4bfeba714a7f0d14a7e319a3d1ddc62dbb
CRs-Fixed: 581453
Audiod: Priority change for AudioDaemon

- Device getting crash after preforming
  ADSP/LPASS SSR during compress playback

- Due to continous compress write calls
  to compress driver audio daemon not getting
  schduled which results system crash

- Change AudioDaemon priority from PRIORITY_AUDIO
  to PRIORITY_URGENT_AUDIO to make sure audio daemon
  scheduled prior to audio HAL

Change-Id: I0d7dff30908d4e1f727c1eb6af9e66ed74095148
hal: Fix VoIP Mute failure in SIP call during Voice call HOLD

- Unable to apply the mute in MT SIP call during Voice call
  in CALL_HOLD.
- Mute is only applied if the voice call state is INACTIVE.
  Thus when SIP call is made during Voice call in CALL_HOLD,
  the mute is not being reflected.
- Fix this issue by checking voice stream type to allow
  the mute to be applied.

Change-Id: I3af5225edd8e9a4123867b647de9405d5c4b9efc
CRs-Fixed: 642893
hal/usb: Add initial volume setting for USB headset

Some USB headsets start at 0 volume because of this even
if the Media Player volume is maximum cannot hear any audio.
Initialize device volume before starting the playback.

Change-Id: Ie6940fae6fd7946ce0a90a142aaf110d829eea8f
CRs-Fixed: 639168
hal: Add path for VR headset

 * Needed to keep Listen from derping.
 * Just point to regular headset device by default.

Change-Id: I64975c196fcb5f2b32d34d54ba01a0d73a90db4f
hal: SSR support for pcm playback,pcm record usecases

- Added SSR event handling support in HAL

- Added support to drop incoming pcm data for pcm playback
  usecase during SSR

- Added support to send dummy input(mute/zero buffer) for
  record usecase during SSR

Change-Id: I158b62fa443bb523091128fe1308c9a9b1415502
Audio: Enhance logging in AudioPolicyManager

Enable msg logging
-To print playback clip attributes
-Offload supported or denied

Change-Id: Ifafb8c01ecca41aa2e09a134123d56a695494db4
hal: improve logging.

-log to print open/close/standby of out/in streams
-log to print the the device switches

Change-Id: I1b3bf3d6ba19faa4df804f781fc15c0f96a5b80f
hal: Fix teardown during back to back pause/play of WFD session

- When an active WFD session is paused/played continuously from
  the WFDClient app, the session tears down after a few iterations
  if touch tones are enabled.
- The output device is switched back and forth between speaker and
  proxy when the session is paused and played continuously.
  When this happens, sometimes, there is no backend to write the
  low latency output which results in pcm_write getting blocked.
- Fix the issue by not routing the low latency output to speaker
  if the previous device is proxy.

CRs-Fixed: 630234
Change-Id: I6bbe82badd3d5ee857e920430304c3a45c5b44c7
post_proc: improve logging

Make logs more meaningful and remove
ones not necessary.

Change-Id: I9562cf34a5dee406b1c0347a9004db08de9cd5df
post_proc: disable Bassboost and Virtualizer for USB_ACCESSORY

USB_ACCESSORY is not intended to be applied with SA+ bassboost
and virtualizer, so add into invalid devices list.

CRs-Fixed: 659191
Change-Id: If1f3421f9935ce624dc21895d9244d36d195b2bd
post_proc: fix post and pre process KW issues

KW issue fix includes:
- handle memory allocation failure
- array index boundary check

Change-Id: I083952ba58d348a5b650601a83e6f492b0d686bb
audio: Force route call on HAL during device disconnection

- When a wired accessory is connected/disconnected,
  setDeviceConnectionState updates the current device
  only for active outputs and also makes the corresponding
  route call on Audio HAL when the current device is not
  same as the previous device for the active outputs. As
  inactive outputs are not updated in this case, sometimes
  audio policy fails to notify device change to HAL.
  Specific scenario is mentioned below

- If headset is inserted when touch tones are disabled
  and music is in progress, LPA/tunnelled output is updated
  with headset as its current device and also respective
  route call is made on audio HAL. But low latency output
  still has speaker as its current device because it is not
  active. Later, if music is paused and headset is removed,
  setOutputDevice does not make route call on Audio HAL
  when touch tones are played. This is because the current
  device and previous device are same(speaker) for low
  latency output. So Audio HAL tries to play the touch tone
  on headset when headset is not connected.

- Fix is to force route call on HAL after every device
  disconnection irrespective of current and previous device
  being same for the specific output

Change-Id: I80d799718c980d0422d4e5f7015fcf16f001fda9
CRs-Fixed: 627903
audio: Close the file descriptor in error scenarios

 -In the scenario where the USB headset and proxy device
  sample rate dont match, error was returned without
  closing the file descriptor .So, the next time USB
  headset is inserted , the /proc entries are not created
  which results in the USB headset playback not started
  as the capabilities cannot be read.
 - Closing the file descriptor in the error scenario fixes
  the issue.

Change-Id: Ie45327f04cc7fff6dbcbe1268a7f34793e89641b
audio: Force route on HAL when USB headset is disconnected

- snd device reference count is not decremented when usb
  headset is unplugged, because touch tone is still active
  on usb headset. So when usb is plugged again device
  routing is not triggered as present and prev devices are
  same
- Fix is to force routing audio to speaker as soon as usb
  headset is disconnected
- Added similar check for HDMI device too as it applies
  for HDMI disconnection scenario too

CRs-Fixed: 655403

Change-Id: I3d66654ebc1f324b08104b586f201540f7005dd2
 Audio: Revert hal changes to block pcm_close during SSR

 pcm driver supports pcm_close during SSR, so reverted
 HAL code to block pcm session close during SSR.

 CRs-Fixed: 663477

Change-Id: I752e3f4f55288f91294e090b974ba1367c27122d
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