audio: add support for extended audio features

- Add extended enums for audio stream, audio
  source, audio format, audio channel, audio
  device, and audio flag.
- Update audio API's to support extended features.
- Add new API's for compress offload playback,
  capture, and VOIP features.

Change-Id: I8dfd64ac39ee392993e2b977907cd8280952460f
Conflicts:
include/system/audio.h
Conflicts:
include/system/audio.h
audio: update enum for AUDIO_FORMAT_DTS

- update enum for AUDIO_FORMAT_DTS

Change-Id: Id8173c43090f514b673264f0b42c3bb65c051c50
Adding use_small_bufs boolean

-apq8084 HAL expects use_small_bufs to be present

-variable is not being assigned to anything as this
  is needed for fix compilation

Change-Id: I59430dffe84e20ed965cb8053cfe7f03626171d8
system/core: Add flag for HDMI compressed passthrough

Add audio output flags to support compressed passthrough over HDMI
for DD/DDP contents.

Change-Id: I308eca2c250591e3e3d6d6d28b6f67440ae3310d
system/core: Add support for JOC format

Add support for EAC3 JOC format to core. Add EAC3 JOC format as a
valid format.

Change-Id: I2a396a570421c66df84a874cde6f3616392c6ba1
camera: Add ifdefs for extended face detection fields

Change-Id: Iab51c3f269a83e626cfa613ffc73d4fbac62deaa

Conflicts:
	include/system/camera.h
core: Add QCOM_LEGACY_UIDS ifdef

 * qcom_oncrpc user is deprecated. We should align with upstream.
 * Define this if you still need the legacy behavior.
 * Also remove extra definition of qcom_diag

Change-Id: I802434899b99b652ed1c1111c983edae052250da
audio: Add ifdefs for QCOM audio features

Change-Id: I5380d12539bead947a79683335aca1ed0d0408ed
liblog: add required function

Some Motorola proprietaries require a function named __android_log_loggable. This
change adds the function and solves problems with radio and other
binaries on qualcomm based Motorola phones. This code is activated with
TARGET_USES_MOTOROLA_LOG:=true

Change-Id: I722b42d34198c027f265c3cf9f220d9798814915

Conflicts:
	liblog/logd_write.c
	liblog/logd_write_kern.c
init: Add "export_rc" command to export env from a specified file

New export_rc command to import environment variables from
a specified file at the time the command is executed.

Differences between "import" and "export_rc":
1) export_rc can only import environment vars
2) export_rc is performed when the command
   is executed rather than at the time the
   command is parsed (i.e. "import")

Example:
in /init.rc:
    on post-fs
        export_rc /system/etc/init.xyz.rc

in /system/etc/init.xyz.rc:
    export LD_PRELOAD /system/lib/libxyz.so

Change-Id: If616dea5b508c27e9f7a95b5e9db696ecea2fdee
audio: Changes for LPA/Tunnel mode

 Intitial changes to enable LPA/Tunnel mode

Change-Id: I099480931661c1190b53363d2ee6716a78b81ccb
system/core: Add command NATIVE_WINDOW_SET_BUFFERS_SIZE

Add native window command to set user defined buffer size.

Change-Id: Id6d1f96daba81e8aba83479b5bda6ce0bfabb6e7
init: Bring back support for arbitrary chargermode cmdlines

This was accidentally removed while debugging the init breakage
fixed in change I8ef5c932efcd5e7f8d6f6fce0915683d84c3ee11. Put
it back

Change-Id: If35b9d5db281f8aab6de26f2bb63717d28b2db30
init: add detection of charging mode

Based on Prashant Somashekar's patch which is in turn based on techomancer's
patch http://goo.gl/I19GG.

When BOARD_CHARGING_MODE_BOOTING_LPM is set, init will read that
value (usually from /sys) and enable charging mode when set to 1.

This differs from the original patch in that Samsung-specific lpm.rc
is not loaded, but instead, init.rc is loaded using the "charger" class,
which is how AOSP devices handle charging.

The change is because the either the SELinux or the init.rc changes is
causing lpm.rc to not work, and porting lpm.rc to the Android system
is easier than trying to fix it.

Change-Id: Ice7a074da7e982f9a64aaa97de28bfcbccdc8b91

Conflicts:
	init/init.c