mm-audio: Fix openmax encoder hang during flush

Flush issued by command thread should unblock the read/write calls
in openmax component.
There is race condition between input/output thread and command
thread in openmax component due to which read/write is not unblocked
which results in a hang.
This change makes command thread to issue multiple flush when it is
wait for ack to avoid a hang.

Change-Id: Ia4486f2e53f56a8413c2115b7f418b29b4bc54c5
CRs-fixed: 466764
 audio: Increase the period size for USB audio

 -During USB audio playback, breaks are heard .This is
  primarily due to overruns of USB buffer from the audio
  HAL.
 -By increasing the period size of USB buffer we are
  avoiding overruns .

  CRs-Fixed: 574897

Change-Id: I78fb1bd5d7201fe789a2fcc5090eb1555af408ea
audio: Add support for AUXPCM BT

Atheros BT chip uses AUXPCM instead of slimbus. Audio HAL has
to use different UCM files depending on whether it's
internal or external BT chip

Change-Id: If6580ea1608b9dc8bb24be58dd2c4d2bbc331f92
hal: Remove extra checks for proprietary features

 * If headers available, build it.

Change-Id: I31481e3e810706b6050f409e38c11620532f158a
hal: Minor usb stability fix

- Adding buffer of one byte for the strstr usecase to make
  the passed string is NULL terminated.

Change-Id: Ief8531e149b05f4020cb1338110bbfad4a74f7d0
Crs-fixed: 607454
hal: Add suport 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
Merge remote-tracking branch 'upstream/cm-11.0' into kitkat