More ifdefs for ICS audio blobs support

Change-Id: I1e01db9b7cb2da45a3e52aafe7574b689a9c57f4
Merge "More ifdefs for ICS audio blobs support" into cm-10.2
frameworks/av: Set arbitrary mode to false by default

When arbitrary mode key is not set by extractor, use frame
by frame as default mode

CRs-Fixed: 512518
Change-Id: Iae20e573d7bb763c44d9586bf1e6ef4e60f00e96
libstagefright: Fix for FPS drop issue during A-V playback.

Issues:
-The AAC decoder was not updating the timestamp when EOS is reached.
-Logic to smoothen the real time update in AudioPlayer uses system
 time. This introduces corrupt timestamp during EOS.

Fix:
-Update the timestamp in AAC decoder when EOS is reached.
-Extrapolate realtime using system time in AudioPlayer when EOS is
 reached. Cap the value to realtime if  extrapolated time becomes greater
 than realtime.

CRs-Fixed: 384183 515066
Change-Id: Ice54501436431d2527fcd3d710d65d9732fcffdd
Audio: Enable QCOM's HW AAC encoder conditionally

- Check related system prop to enable QCOM's HW
  AAC encoder
- Use QCOM's HW AAC encoder only for supported
  channels/sample rate/bitrate.
- Use Google's SW AAC encoder if the required AAC
  audio parameter is not supported by QCOM's HW
  AAC encoder

Change-Id: Ifc2409107e48390a6268dc5d5694df8fb47f60aa
libstagefright: enable smoothstreaming in ACodec

Enable smoothstreaming mode from ACodec
 - To handle stride change along with crop notification,
   notify NativeWindow with update-buffer-geometry
 - Enable smoothstreaming by-default based on the flag
   TARGET_ENABLE_DEFAULT_SMOOTHSTREAMING

Change-Id: I2a60035993f521fc164d3176d179882c6748b44e
libstagefright: enable smoothstreaming in OMXCodec

Set smooth-streaming mode from OMXCodec by default
if TARGET_ENABLE_DEFAULT_SMOOTHSTREAMING is enabled

Change-Id: I4e1c2a18c0398859325cef66996b48e4579e254f
libstagefright: In thumbnail mode set EOS on first frame

- 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: I74638a56891bd484a7529349c3b8433dd2009a88
libstagefright: print seek statistics even when paused

 - if seek is issued during paused state, SEEK_PREVIEW flag is set
   and statistics needs to be printed even if that happens.

Change-Id: Ida5040d2961bff4dfb8a53b50be01609aaac9976
CRs-Fixed: 512801
audio: Add support for tunnel mode recording

- Add support for tunnel mode recording

Change-Id: I95cdfff729affd784141487521c9f2f714221d11
audio: Add support for non-pcm VOIP vocoders

- Add support for non-pcm VOIP vocoders
- non-pcm vocoders use AUDIO_SOURCE_VOICE_COMMUNICATION
  as inputSource. Add check to verify inputSource and
  then configure framecount accordingly
- Changes done to support VOIP for AMR-NB,AMR-WB,EVRCA/B/WB

Change-Id: Ia38da4f6ba0ee40c794d3c97325327cdb7dcb32a
CRs-Fixed: 467850
CRs-Fixed: 516138
Merge remote-tracking branch 'cyanogen/cm-10.2' into cm-10.2