alsa_sound: Fix for Tunnelplayer IOCTL drain block

-IOCTL drain was getting stuck when standby was
called after seeking to EOS
-This happens when seek was done to the
end of the stream which would lead to only
a zero length buffer being sent.
In this case, IOCTL drain will block forever
-To solve this, IOCTL drain was interrupted
by calling flush from the context of standby

CRs-Fixed: 467166

Change-Id: I0d119c362670fd4f99b023dd4a1fdebde7832c02
hardware/qcom/audio: Fix for Crash during Gtalk startup

 -Crash is observed when Hangouts and Gtalk start running
  simultaneously
 -Dirver does not support multiple instances of voip call.
 -Avoid creating multiple voip session if mVoipStreamCount
  is already 2
CRs-Fixed: 440160
(cherry picked from commit b9f1299e4ca8b96907f97914a0cf65fd5a3d3174)

Change-Id: I7ef3cf76394e1469db9d21a1484aacf1251c4f25
alsa_sound: Fix for audio loss on switching from BT to AOA

-When AOA is connected to device while playback is on BT, usb stream is
 created. The external out stream gets updated with usb stream even
 when a2dp stream is active.
-Update external out stream with a2dp or usb stream in openExtOut only
 if it does not refer to any other stream.

Change-Id: I625ee20ac91ef1be4b21e91fd5e9fffc54a08033
CRs-Fixed: 464457
alsa_sound: set ALSADevice::mInChannels to 0 after voice call finishes

When a voice call is established, through  enableVoiceCall()
mInChannels is set to non-zero value, so during disableVoiceCall()
it should be reset to zero.

Change-Id: Ic3f39990c7e1820e5c61e063b8c84e160cdd20bb
CRs-Fixed: 467775

Conflicts:

	alsa_sound/AudioHardwareALSA.cpp

Signed-off-by: Luis Cruz <ljc2491@gmail.com>