hal: Compilation fixes

 * Properly include path to kernel headers for postproc effects
 * Don't try to build SSR or Listen if QC_PROP_ROOT isn't set

Change-Id: I8f2a874bbbec09cea8eae423a82e6cc59d03f422
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>
hal: Allow enablement of COMPRESS_VOIP without multisession voice

 * It works!

Change-Id: Ie150055bd711a0060db91e50a47b7726f42cdc4e
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>
hal: Add support for dedicated VoIP devices

 * Some devices out there have dedicated paths for VoIP, add support
   for these by setting the system property.

Change-Id: I59cd97e78427f811559081a04151c9a2eccf452f
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>
hal: Allow msm8226, msm8610 to use extended features

Change-Id: If07c3b1ad902de283707da673c5c305451e4ee10
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>
hal: Fix digital USB headset combo device

 * Digital USB output was not handled in this case. Add it.

Change-Id: I8e984a2cf545dabdc6dc538b75e8ca7221fb6688
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>
hal: Fix voice call recording for msm8974

Voice call recording uses audio-record usecase which causes recording
only devices microphone. Use the correct usecase for call recording.

Change-Id: Iaa9fc30534263c6de9b4b66fa5ffa9a1e2cc8fd4
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>
hal: Rename & move platform_parser.c

Move platform_parser to root hal directory. Rename
platform_parser to platform_info. Change name of
XML file read from platform_info.xml to
audio_platform_info.xml. The xml now only needs
information for ACDB ID's that you want overwritten.
Names in the XML now match sound device enums in
platform.c.

Change-Id: I6f9bfcf4149f08d88cb2a95ba021bdf7296aaf4d
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>
audio: extend platform parser

Extend platform parser with support for additional sections.
Supported sections now include acdb ids, pcm device ids and backend names.

Change-Id: Idfbc8a8bb490606686436c107db5b0c7d636ccbe
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>
audio: Extend platform parser to allow device name aliasing

* Supported sections now include device names
* This allows for aliasing device names to a custom name

Change-Id: I880e90a7e887f020517d89ba276199c700c0eeae
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>
hal: Add option to use low latency as primary output

 * Google's original design uses the low latency output as primary for
   playback unless a series of checks are passed in the framework which
   would use deep buffer mode.  Qualcomm changed this long ago in order
   for usecases like AV which don't require low latency to be forced to
   use deep buffering. This has been a catastrophic failure ever since
   it was changed, causing crackles and pops randomly while playing
   notifications due to underruns. Either I am too stupid to make it
   work, or this behavior is fundamentally flawed.
 * Add a flag to do it Google's way, I'm tired of this bug.

Revert "hal: Use deep buffer output as primary"

This reverts commit 8f715d94926ee51baf766800f4e9c3ceec435e4c.

Change-Id: I678478798274a35fe0d117650cfd62b1a433f448
Signed-off-by: Jake Weinstein <xboxlover360@gmail.com>