alsa_sound: Add support for Voip

-Add Voip input device to support tx path. Also correct
check in close output to handle multiple voip rx streams that use
same direct output.

Change-Id: I24536e47d0d820bec99d7e886acd3aac0153174d
alsa_sound: Add wifi display to fixed volume devices

Wifi display should be treated as device with fixed volume like HDMI.
User should not be able to change the volume on device. Volume
change should be supported only on the end device.

CRs-Fixed: 480334
Change-Id: I328cc9817fb0735fbfd67f14534cfad127026a44
audio: Choose Speaker instead of USB Headset on force use

- getNewDevice() is selecting USB Dock Headset when user
  forces it to be speaker during VOIP/VOICE call
- Fix is to return speaker as output device in this case
CRs-Fixed: 571801

Change-Id: I81cbcef17ac6d07ac0a174e4ab35c8f5c6426257
alsa_sound: Fix to sound burst on switching from speaker to headset

- Sound burst observed on speaker to headset switch if call + pcm
  music playback is active

- On each keyRouting call from APM, HAL is routing new device to all
  open outputs.This result device switch stream mute(vol 0) is applied
  for PCM playback after device switch

- Call HAL routing to primary output first followed by fastoutput
  (if tunnel is not active) will resolve mismatch

Change-Id: I812cab1f57c6f4707adb626ca4581d7c82a18e55