audio policy: fix gapless playback when effects enabled

Do not allow offloading if one non offloadable effect is enabled. This prevents from
creating an offloaded track and tearing it down immediately after start when audioflinger
detects there is an active non offloadable effect.
Not doing so breaks gapless playback because AwesomePlayer will always be able to open
an offloaded track which will not be compatible with the previous PCM track and
Audiosink::open() will not recycle it.

Bug: 11181933.
Change-Id: I6d163806849d9093b9ec701ba8e8c1ccb658e3c8
merge in klp-release (no-op)
Merge "audio policy: fix gapless playback when effects enabled" into klp-dev
Define and use DRC-specific volume curves when applicable

Add support for property defining whether a DRC on the speaker path
 is enabled and will boost soft sounds.
Define new volume curves with more attenuations than existing ones
 to compensate for DRC-induced boost on sonification sounds to
 provide a more "linear" control to the user over the applied volume.

Bug 11600699

Change-Id: If23dd097a8b9b5ebb61e75dd8512ff75e63ba899
libhardware_legacy: Add support for oneshot WiFi setup

 * For a certain device, we need to wait for the RIL to dump out
   the NV items which contain the WiFi MAC address. This is
   done by starting a service and waiting for it to set a property
   indicating completion. The existing module loader already works
   like this, so we can just use that.
 * Reorder the ifdefs so this works when the driver is not built
   as a module.

Change-Id: Ic69dd5c1087122b3b7d939a8647785bf97b95a0c
audio: Disable sonification on digital USB outputs

 * We don't want to hear touch sounds on our badass USB DACs. Just
   play the damn music, please :)

Change-Id: I08b1c5d672d853fc7116c03cd77b8828881d3a5b
audio: fix offload enabling test parameter

passing NULL as the default to property_get doesn't return false,
it returns random memory junk that evaluates to true... Explicitly
default the state of this property to "false" as a default

Change-Id: Ib2808bf2540b2b4fdf754d489fb44aa5d9e061a8
audio: fix for multi-channel HDMI playback

- Overwrite playback flag to AUDIO_OUTPUT_FLAG_DIRECT
  for PCM_16_BIT multi-channel clips so that HDMI
  profile is used for playback.

Change-Id: Ibf295f506e6ec62ffbd79091361793c18213d494

Conflicts:
	audio/AudioPolicyManagerBase.cpp

Change-Id: Ibf295f506e6ec62ffbd79091361793c18213d494
libhardware: Fix merge damage which was breaking direct output

Change-Id: Ic247e590039c20ace09ed3a19f61e263b1410e96
audio: Do not allow Compress offload mode for AV streaming content

Add system property check to use compress offload mode or not for
audio+video streaming content.

Change-Id: I10aa22995d2d1320b41f58ff9bb2303787c9d40d
CRs-fixed: 587600
audio: Add support for DOLBY DD+ decoding

- Add DOLBY AC3/EAC3 format enums
- Use offload profile for DOLBY decoding
  regardless of duration

Change-Id: I2c9738fa34635304aeca8fb529dbe8c2aa5e528d
audio: Add support for compressed VoIP

Add changes needed to enable VoIP calls using compressed
audio formats.

Change-Id: I7ebdfa1c2cc9b97666c7d8392b5e6ebd9b477184
AudioPolicyManagerBase : MUTE_TIME_MS reduced to 500ms

 - Some streams are muted while the audio path
   is switched for different device switch like
   BT, Headset, AOS and HDMI etc. Audio drop is
   observed for more than 3-4 secs. So tuning
   this macro for better results.

Change-Id: I8bb0b6f5eb5e526b755fce97f31a3f8f6dd22064
CRs-fixed: 572654
libhardware_legacy: Clean up all the audio ifdefs

 * Remove duplicates and differentiate between legacy targets

Change-Id: Iad22875513846b16fa1e5d602d3fd4289d5fbde2
audio :Make isVirtualInputDevice as protected method

- startInput is overridden in AudioPolicyManagerALSA and is
  making a call to isVirtualInputDevice which is private in
  AudioPolicyManagerBase.
- Make isVirtualInputDevice as protected in base class so
  that it can be called from the derived class

Change-Id: I7e499b0c06f9412bc191179d497298cd57af2c3a
CRs-Fixed: 591788
wifi: remove p2p interface on supplicant stop

remove p2p interface on wpa_supplicant stop
so next time it is started it won't fail when trying
to create p2p again

Change-Id: I7a4c5e9a82a013afc75548d175d5850d67fcd927
wlan: Fix for improper comparison of driver_status string

This commit ensures driver load failure status is compared with
valid string which has the failure/success information.

Change-Id: I3b619ad0c005fb793d127bd2a23b376ed961d0b7
CRs-Fixed: 652539
Audio: Fix HDMI audio device switch issue

- Device routing is not triggered in the following scenario:
  Start playback on HDMI, pause it, unplug and plug the HDMI cable,
  resume playback, music starts on speaker.
- Fix by update outputDesc->mDevice even if the requested device is 0

Change-Id: I4d1c1f76094f4acb20acdb8af68302ea8a1008c5
CRs-Fixed: 606004
 Audio: Fix for audio loss on switching between speaker and USB headset

 - snd device reference count is not decremented when usb headset is
   unplugged, because touch tone is still active on usb headset.
   So when usb is plugged again device routing is not triggered as
   present and prev devices are same
 - Fix is to route audio to speaker as soon as usb headset is
   disconnected

   CRs-Fixed: 630425

Change-Id: Id07bc44a39f72f33b39fd180efd1859de63650e5
Merge tag 'android-4.4.3_r1.1' into HEAD

Android 4.4.3 release 1.1

Conflicts:
	audio/AudioPolicyManagerBase.cpp

Change-Id: Idd7550e68e4d6b3b3bb918a619eeeeb540a7bbb6