Squashed commit of audio changes from CodeAurora

libstagefright: Add QC specific media format

- Add QC specific media extensions
- Add QC specific media definitions

Change-Id: I7dca90be3b977701d9537f5e017117790a030f1f

audio: Compile AudioParameter as shared library

- AudioParameter as shared lib is needed by BT
  support in WFD source.

Change-Id: I464b428ace0cbb57ce6bf7bf3b57d51a7d56f032

libstagefright: Send flush on both i/p and o/p ports together

- ANR occurs in music due to race condition in OMX component if
  flush is issued separately for i/p and o/p ports as DSP only
  handles simultaneous flush on i/p and o/p ports.

Change-Id: I5b16cd5a9b57c857dc8bed489d2663b8f54769e3

libstagefright: Enable extended A\V format

- Add new files to support extended A\V format

Change-Id: I1e61d78d35b868d55fd8e99f95de8cab9c465db4

libstagefright: Framework to plug-in propritory parser

- Extend the current framework to plug-in propritory
  parser

Change-Id: Ia586a3048420ddf1515261f20035589447263b7b

audio: add support for QCOM audio formats

- Add support for EVRC, QCELP, and WMA formats.

Change-Id: Iaf80f982fc8b08617132dbd7d524a1748866745c

frameworks/av: Support Tunnel Playback

- Implement DirectTrack and DirectTrackClient
- DirectTrack exposes API to client so it can create a direct
  output.
- DirectTrackClient allows notifications to be sent to the
  client from DirectTrack
- DirectTrack is being used for Tunnel Audio

Change-Id: I2fbb18a781d8e44b8d65da9a357f6e39375f063a

frameworks/av: Support LPA Playback

Add support to enable Playback in LPA mode

Change-Id: I1b8ac4904f4735017d62f3757ede7bbb56e62fd3

audio: Send correct channel mask in voice call recording.

-Using popCount function to get channel count gives incorrect value on
voice call recording.
-Only STEREO and MONO bits to be considered to count
channels on input

Change-Id: I04c2c802422e868bdba0538ff8623dbf9eb659fe

libstagefright: Thumbnail mode initial commit

- use sync frame decoding mode when kClientNeedsFrameBuffer
  is set for hardware decoders
- hardware decoder will only expect I frames, OMXCodec will
  set EOS on first ETB to stop more frames from being pulled
- skip EOS check on FTB so that the first frame will be
  handled

Change-Id: I0e8974e088fdcc468e27764861c128cfe291499f

audio: Add support for QCOM's VOIP solution

Change-Id: I1150f536fa204b535ca4019fdaa84f33f4695d93

audio: define QCOM audio parameters

- Define QCOM audio paramters for FM, VOIP,
  fluence, SSR, and A2DP

Change-Id: I29d02e37685846f6d4f00dee02e2726b015eaae7

Add ifdefs for QCOM enhanced features

Change-Id: Ic8e5fe6ecc058466ced71030883b1af6c2bc055c

Signed-off-by: bmc08gt <bmc08gt.teamb00sted@gmail.com>
Change-Id: Ic8e5fe6ecc058466ced71030883b1af6c2bc055c
Squashed commit of updates from CodeAurora

libstagefright: Add support for VC1 clips

- configure decoder in frame-by-frame or arbitrary mode
  based on the codec type.

Change-Id: I6404e5b7ee217045e6456f51f914dbd8a651d98a
CRs-Fixed: 432847

stagefright: Miscellaneous fixes for LPA and Tunnel playback

1. Fix for AV sync issue with Tunnel playback
APIs for returning correct timestamps were implemented
2. Crash while exiting TunnelPlayer
Check whether sink is open before flushing or closing it.
Check for mIsAudioRouted is good to know if we are closing it
3. Seekbar freezes after seek and pause
Check pause status before writing

Change-Id: Id8ab7b258e9c05b20e121bdf3c4dc30d519f6c15

frameworks/av: Add support for surround sound recording

- Add 5.1 channel as supported input channel

Change-Id: I50fcd87245c5c855ede8f09ea1a7c5be2e684640

stagefright: Add tunnel decode for amr-wb/wb+

When tunnel.decode is true, playback of AMR-WB
and AMR-WB+ uses tunnel decode.

Change-Id: Ic06cb3faaac18f605402c98a27cb4dfa4b7faee2

stagefright: Skip LPA if #channels > 2

Skip LPA for Multi channel playback

Change-Id: I5b97471ef55aea260d1c02db672eb4bd64c3edef
Fix potential NULL pointer deference in ToneGenerator destructor

Initial members in ToneGenerator so destructor can free
allocation properly.

Change-Id: I4a686084af48f99d2eefc33e56e3239846d3d34f
Merge remote-tracking branch 'aokp/jb-mr1' into jb-mr1

Conflicts:
	media/libstagefright/StagefrightMediaScanner.cpp

Change-Id: I7b1b920c9f608409f6beb4d47ea64bc5ac24e6d8