audio: New audio format for FLAC

- Add string to enum conversion for new audio format
  FLAC

Change-Id: Ie49170947a6524aa7412855106d666b467104a93
audio: Handle sonification for last stream in stopOutput

-Low visibility stream is not muted during voice call when
played back to back.
-In startOutput, handleInCallSonification is called only for
first time i.e. mRefCount is 1. While in stopOutput, it is
called without any check on refCount.
This causes second notification stream to be played when
stopOutput of first stream unmutes the muted stream.
-Handle sonification while in call only for last stream in
stopOutput i.e. only if mRefCount is 1.

CRs-Fixed: 663101
Change-Id: If6cbf24aa814a115c98358883794a7c92aec0c86
audio_policy: Fix for audio routing speaker though BT is connected

- Speaker device is selected by getDeviceForStrategy() though BT is
  connected as mA2dpSuspended is still remaining as 'true' even
  after ending the voice call.
- This flasg is not updated by checkA2dpSuspend() as force usage
  for communication and record is still FORCE_BT_SCO after ending
  voice call.
- Modified condition check to set mA2dpSuspended to 'false' as soon
  as phone state is changed to MODE_NORMAL
  porting from change:Ib3a67268be33a10c6bcdf6437868990a92a06c2f

Change-Id: I86ebb66cd165e8009bfa6193d2ad9ab383996283
CRs-Fixed: 671810
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0
wifi: remove local nl80211 header

* Sync with omapzoom d-jb-mr2.1-release

Change-Id: I89cb2c3bdf667f38ff4c94c164cdfb3d750478e2
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0
audio_policy: Prevent dumping string NULL termination

Change-Id: Ia2e08de45a5e4880c9547a5cf8f93e72d4dd6baa
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0
policy: Offload enhancements

 * Port changes from audio-caf to the generic HAL to bring
   support for these features to more devices.

Change-Id: I74ff10dd7574498654d4771a74285e0875dd8580
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0
audio: Fix to update devices for all non-primary outputs

-Incorrect routing is observed, after call disconnection, due to
 devices not being updated for non-primary outputs.
-Update devices for non-primary outputs as well.

Change-Id: I424f980e3a26f57e7655b5fd10bb54e73cca3a57
CRs-Fixed: 592604
audio: update srcOutputs based on current outputs

- Issue: Direct outputs are also opened to query
  for dynamic parameters in checkOutputsForDevice
  and will be closed later by setDeviceConnectionState.
  There is a mismatch between srcOutputs and dstOutputs
  in checkOutputForStrategy which results in a temp
  mute while moving tracks from one output to another
- Fix this issue by updating srcOutputs based on mOutputs
  instead of mPreviousOutputs

Change-Id: Ie716e33606985ae93f31abbf8aac506c935840db
CRs-Fixed: 591339
audio: primary desc check for sonification

- Audio glitches on alarm expiry if alarm starts
  on screen lock/standby mode

- On alarm expiry alarm tone will start play on combo device
  &screen unlock tone try to play on headset which results
  multiple device switch, as a result audio glitches are audible

- If sonfication strategy is used by primary desc , we will
  treat all non music streams with sonfication stragey which
  will avoid device switch

Change-Id: Id7d8dfa75f8d881549d57f01e3bb1025135d4b2c
CRs-Fixed: 514467
CRs-Fixed: 657274
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0