libstagefright: Add support for custom LPA buffer size in legacy LPAPlayer

     - on msm7x27a with bootloader heap for lpa audio during audio playback with,
       DSP Manager effects enabled there is a lot of stuttering with the default buffer size.
       with bl heap we need buffer size of 480, but that breaks audio at in cm. So we have,
       to use buffer size of 512 to get audio working but it makes stuttering as mentioned.
       so add support for a custom buffer size so we can use 480 buffer size.

Change-Id: Ib4b5222b4b64d42288e0ad5c95910e385d172374
libstagefright: Enable meta mode for 7x27a video encoder

msm7627a family of chipsets supports only one input frame at
one time. camera expects the input frame to be released before
sending another frame. so send one input buffer and available
output bufefrs to video encoder component. Release the input
buffer to camera (to get another frame) after receiving input
frame done callback from video encoder component.

Change-Id: I8fbc911f046ff7e2a3047dd65d8c09ac2d8608e2
media: Kill incessant logspam during latency measurement WTF

Change-Id: I79059c176f6c1fb922f48596bc2e078461b09320
stagefright: Don't enforce 16kHz rate for AMR-WB

This breaks android.media.cts.MediaRecorderTest#testRecordingAudioInRawFormats,
which tests specifically with 8kHz.

Change-Id: Ibfa54db4b2a82e502268be18f4ea405a41a88bfd
screenrecord: allow force landscape mode

Some devices' hardware encoder do not support encoding over a
specified height, which may be smaller than the device's display
height in portrait mode. Add a mode which uses landscape encoding
and rotation hint to overcome the limitation.

Change-Id: Icdd8de05d55c2aaaacbcaba4857173c78ef76a24
frameworks/av: Add audio parameter for sound card status

Add a parameter to signal sound card status to audio HAL.
This parameter is set on a change in sound card state.

Change-Id: I9c2265b6197f654f6dab90f7d0b87a3a0921a6fb
AudioFlinger: Handle sound card status change

1) Update Audio HAL with sound card status change
2) Call invalidate tracks API on all playback threads so that the
   associated tracks can handle the sound card status change as a teardown
   event

Change-Id: I9b8c2244eb80cc08935144affe529591e0728616
audio: do not allow FAST output for voice call stream type

- Some VoIP applications set AUDIO_OUTPUT_FLAG_FAST while opening
audio output which causes low latency path to be selected. Clear
the flag explictly if the stream type is STREAM_VOICE_CALL
- Add debug messages in Audio Track and Record to print
the requested audio parameters

Change-Id: I7b3d1353ab107effc3f99b99bd9f78270f63097f
libstagefright: Fix incorrect progress bar display during device switch

 -During offload to nonoffload playback switch (speakr to a2dp)
  audiotear down happens which reset current postion and duration.
 -do not reset the file duration during audio tear down and return
  the cached current position if audioplayer is not created.

Change-Id: I924d270d57aee1a9e79cea1c33bbd6bb731b201d
libstagefright: Fix timestamp corruption during offload playback

-Timestamp gets corrupted at EOS of offload playback.
-This happens because the number of samples played returned from
 HAL could be zero if playback has reached EOS and if compress
 handle is invalid / closed.
-If HAL has posted EOS  avoid the update of real time and media
 time with the timestamp from HAL.

CRs-Fixed: 570368
Change-Id: I5ea75f4eda1df0c110bce780e50e3c8ae9b4cd85
stagefright: Build fixes

 * Fix build without AV_ENHANCEMENTS on

Change-Id: I4bbf3f0a6f5894ddb33b62d99bced2f6247081db
frameworks_av: Support pre-KitKat audio blobs

Patch Set 2: Combined duplicated method

Change-Id: I6384c13b0944a25cdf0cb90031b2e3698bc3e78d
Increase max screen recording time from 30 minutes to 1 hour

Change-Id: I37c22b08afea32e6b6a88c404ab78250b7a9f377
Increase kFastTrackMultiplier from 1 to 2

Change-Id: I158f147295eebcea96e4047d7618069bc48bdd7d
stagefright: add an extra buffer to ANW's BUfferQueue

Add an extra buffer to ensure video player has a free buffer to
dequeue rather than wait for the queued buffer to be displayed.
Enable logs to indicate number of buffers allocated.

NOTE: This is not needed for 30fps content on 60fps panel, But
making this change regardless for all framerates till root-cause
is identified in SF

Change-Id: Id1048d7a104b2a75613dda8b9cf166e59bc4bb04
Revert extra buffer hack.

 * Breaks too many things, and this is an awful hack anyway.

Revert "stagefright: Fix "add an extra buffer to ANW's BUfferQueue""

This reverts commit dbb2bb90acd47a53d84809b1aa150bac6093f752.

Revert "stagefright: add an extra buffer to ANW's BUfferQueue"

This reverts commit 2bce3e06f60a8d60c81261b0438d0cc6f2bbe7d1.

Conflicts:
	media/libstagefright/OMXCodec.cpp

Change-Id: I94ce8908f8f6c270d3421841c2aae2e5750092ea
audio: Modified API for compress voip formats

 - Modified API for supported compress voip formats.

Change-Id: I0165fc48bbe631d3febf2104e8a28708bf85ef23
audio: do not invalidate stream used by voip

During the process of invalidation of voip streams,
actual driver is not closed so when it tries to open again
getoutput fails as only one instance of voip can be created.
so do not invalidate the tracks used by voip driver.
CRs-Fixed: 494093

Change-Id: I42a962991ce1d586d87f4aecba19c0e5dde6b9dd
audio: Fix for OMXCodec::read() getting blocked

- Sometimes notification sound is not heard if it is played
  and stopped multiple times in a short duration.
- If OMXCodec::read() gets blocked for filled buffers while
  in pause, it never returns as mFilledBuffers is always empty.
  Due to this AudioTrack destructor never exits as it waits for
  the AudioCallback thread to unblock it.
- Ensure OMXCodec::read() returns even if timeout occurs while
  in pause and handle the same in AudioPlayer by returning zero
  bytes in AudioCallback.
CRs-Fixed: 478768

Change-Id: I2ca40a673fdf95bccc3069a18b694670612a9895
 audio: Fix framecount calculation in AudioFlinger

 -Sharedblock implementation expects the framecount to
  be round up to the next highest power of 2. This is
  not done in TrackBase for non-voip case which leads
  to shared block getting corrupted.
 -Fix is to round up the framecount in TrackBase for
  all the audio formats.

  CRs-Fixed:  571279, 573735

Change-Id: I0186bb0e04a080100b364aead447ff2fce495ca2