alsa_sound: Make low-latency audio feature optional

 * This requires a baseband update on most devices, so make it optional.

Change-Id: I0be3b6d0c19c26663c9ce8a26d5769a8940b318c
alsa_sound: Fix defaults when low-latency audio is disabled

 * Use original buffer size and playback latencies.

Change-Id: I65b4c80e0ee935ee77de3ef38b66dc5fb7ec4100
audio: add flag to only set min buffersize instead of min and max

Sony MSM8960 devices expect to only get min buffersize instead of
min and max size.

Change-Id: I8e4db2b32592ebe5a2945bf2b3c311f2467f8814
audio: Don't build if TARGET_QCOM_AUDIO_VARIANT is set

 * To allow us to provide the Qualcomm enhanced audio HAL for
   devices that want to use it.

Change-Id: I01f8241eb1137d5937dace32d0859484a3d31fcf
Merge branch 'jb-mr1-release' of https://android.googlesource.com/platform/hardware/qcom/audio into aosp
Merge tag 'android-4.3_r2.1' into cm-10.2

Android 4.3 release 2.1

Conflicts:
	Android.mk

Change-Id: I614e2625c0a791174ea26199dceb635f0a4682d4
Use HEADSET Tx if mic_type isn't analog and Rx device is HEADPHONES

Some devices require a different tx device when in_call and
headphones are inserted. While DMIC Endfire is the correct Tx
device for Earpiece Rx, choosing DMIC Endfire when Rx is
HEADPHONES will kill CSD. This patch will affect devices
without analog microphones, as set by the 'persist.audio.handset.mic'
property.

Change-Id: I109ddfd029bb0696db7dd1cb95eb14b253e04d61
audio: fix output flag test in open_output_stream

If flag AUDIO_OUTPUT_FLAG_DIRECT is set, we should only
try to open a multi channel HDMI PCM output if flag
AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD is not set.

Bug: 8174410.
Change-Id: I63fe6cabca590e70c077dea13c86c6948700e606
merge in klp-release (no-op)
hal: Fix for Audio Route issue when sound path changes

- if you make an outgoing call as mp3 playback is runnign with headset,
  Right side of headset is not functional when keep changing sound path
  from headset to speaker
- Fix the issue by separating loop related of disable/enable_snd_device

Bug: 11232052
Change-Id: Id02a6d7221c77cf4003d97749d75a062d8575d02
Merge "audio: fix output flag test in open_output_stream" into klp-dev
Merge tag 'android-4.4_r1' into cm-11.0

Android 4.4 Release 1.0

Conflicts:
	hal/audio_hw.c
hal: Fix the audio loss issue on codec back end

- Start music playback, plug in and plug out headset and press
  'Next' button in the Music app immediately. Repeating these steps
  result complete loss of audio on HW codec.
- When headset is pluged out and Next is pressed immediately, the
  audio HAL triggers audio routing change from Headset to Speaker,
  and closure of compress playback driver. The later is not lock
  protected which result un protected access of back end information
  in the ALSA framework. This leads to incorrect routing and hence
  loss of audio. It is also observed that sometimes it could lead
  to crash in kernel and phone reboots.
- Fix by ensuring that the kernel driver close is also lock protected
  along with other routing events.

Bug: 11088400
Change-Id: I785effb09e5cef7ba20ee43e0ef91dc296d4e58a
hal: Support for anc/aanc/proxy audio features

Added support for  anc/aanc/proxy audio features

Change-Id: Id6ebdb9094635563cfafce9dc1d3449efe25bda4
hal: Support for usb audio features

Added support for usb audio feature and
related proxy device support

Change-Id: Ia64e9eff20fbbada6f08795686cdbc0ba462bafb
hal: Fix audio playback issue on USB headset

- Start music playback on USB headset. The playback is stopped
  after 3sec.
- A touch tone is played through low latency output path,  while
  selecting the song in the music app. This output goes to standy
  after 3sec. So the disable_snd_device() is called to reduce the
  ref count on usb headset device by 1. At this point the music
  playback (deep-buffer path) is still active. But the current
  implementation has uncondtionally calls usb_stop_playback()
  which results music playback to stop.
- Fix by ensuring the usb_stop_playback is called only when the
  device ref count goes to 0.
- Fix related minor stabilty issues

Change-Id: I979423458738e68da45973751cd918d4c1a924ea
CRs-Fixed: 572048
hal: USB audio support for msm8960

Change-Id: Ib3229c44056daa0bfcbdb6b14d9f93b374951930
Merge tag 'android-4.4.1_r1' into HEAD

Android 4.4.1 Release 1
hal: Fix issues with USB audio after disconnect

 * Stop the USB audio thread when the refcnt goes to zero.
 * Fix tracking of multiple soundcards.

Change-Id: Ia24dbcfcbcc855cde32c57dbbeb6d07af8f4cce8
hal: Correct the multi-channel output usecase selection

Both Multi-channel output on HDMI and Compress offload playback on
HDMI use cases request for a stream with AUDIO_OUTPUT_FLAG_DIRECT.
The current logic would then result selection MULTI_CH usecase.
Fix this by checking for complete match of flags to select the
use case.

Change-Id: I66df94af6c3b837a6c8054282364e1acf78e6e0f