alsa_sound: Fix a memory leak

A pointer variable was not being freed up which is
causing memory leak.
This change is to fix the same.

Change-Id: I12728a4a75fb303d34d10657fe9cbc1b55c1687e
CRs-Fixed: 523572
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
audio: avoid muting already muted stream

-Issue: FM or music is getting mixed with ringtone over the
 speaker when BT or wired HS is connected. Because the stream will
 not get temporarily muted if its already muted.But during unmute,
 there is no condition to check whether stream is temporarily muted
 or not.This is leading to unmuting of non-muted stream
-Fix is added to avoid muting of stream if its already
 muted

CRs-Fixed: 574271
Change-Id: I6b4962f402b87781846e37aed1872a639d06f488
Merge "audio: Choose Speaker instead of USB Headset on force use"
Merge "audio: avoid muting already muted stream"
Merge "alsa_sound: Fix a memory leak"
Revert "audio: Start proxy when external output is enabled"

This reverts commit 61450f47726440849a76eccbdbe6b607a6e48e77.
 -Playback thread for proxy is started twice.
  Once from write and next from setParameters. So, the
  active use-cases become 3(first being HiFi and next
  HiFi Low latency). So, after the ringtone(or music)
  is completed only only one of the usecase is removed from
  the active list and the playback thread is not stopped as
  the active usecase list is not empty.
 -Reverted the gerrit to not start the playback thread twice

 CRs-Fixed: 573521

Change-Id: I46d601a4b538434d74faecc54fb704eeae8eaedc
Merge "Revert "audio: Start proxy when external output is enabled""
Merge remote-tracking branch 'caf/kk_2.7_rb1.15' into newqcom