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
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 kk-4.4

Android 4.4.1 Release 1
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
Merge remote-tracking branch 'cm/cm-11.0' into kk-4.4
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
Merge remote-tracking branch 'cm/cm-11.0' into kk-4.4