libstagefright: exynos4: set proper eColorFormat

Change-Id: Ie025face3c292e685fdf4d83c99276b0a9e4d71d
libstagefright - Fix timestamp overflow

 - change time related variables to 64 bit to avoid overflow
 - composition time calculations were having overflow in
   SampleIterator and it propagates to the rest of the time
   related information for the frames

Change-Id: I035cbfaced1215eb1afd2c6cb900116e46006994
[3/3] av: Allow custom DOMX source instead of Google DOMX default

Part 3 of 3 patches: To allow omap4 devices to use custom "domx" source
via a new BoardConfig.mk item:
TI_CUSTOM_DOMX_PATH := device/<manufacturer>/<device-name>/domx

This setting provides for 3 changes during the build:
1. In hardware/ti/omap4xxx this settings stops standard Google domx
source from being built and changes the domx reference for tiutils.
2. In frameworks/base it changes the default openmax references for
frameworks/base/media/jni/mediaeditor/Android.mk to the new location
3. In frameworks/av changes the openmax references in 5 places, and adds
new includes in ACodec.cpp, CameraSource.cpp and OMXCodec.cpp

This commit is based on cherry-pick from omapzoom (with a more descriptive
BoardConfig setting name):
http://www.omapzoom.org/?p=platform/frameworks/base.git;a=commit;h=f7f929ff477955333bf7e7413a81a66d68

Change-Id: I67dee7e077cd850acad6a0d4afb70218a8b9f2cd

Conflicts:
	libvideoeditor/lvpp/Android.mk
	media/libstagefright/Android.mk
libstagefright: Add support for custom LPA buffer size

 * On msm8930, during playback over A2DP with DSP Manager effects enabled,
   there's a lot of stuttering with the default buffer size. Stock kernel
   used a buffer size of 32, but that caused no audio at all in CM because
   of mismatch in buffer size between kernel and user space. So up until
   now I've been using a buffer size of 256 to get audio working at all,
   but unfortunately it causes stuttering as mentioned. Hence add support
   for a custom buffer size so we can revert to stock value used in kernel,
   and enjoy no stuttering.

Change-Id: Id4d090bc6cf90782c24f3832a35ddeca43bd72fc
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
libstagefright: Add msm7x30 to the legacy alsa audio check

Change-Id: Ia936d9b04e99d942ee9af37be81e3b81add6698c
libstagefright: build legacy lpa for 7x27a

Change-Id: Ia511034671f75fdb7955d446b96c26c467d02a03
frameworks: av: camera: add missing HTC cam parameter

* add CAPTURE_MODE_EIS

Change-Id: I767f7e6ecd0164ae65d8a607fdc1a7166c8886ec
Revert "AudioMixer: Remove tracks from enabledTracks after reseting outTemp"

This reverts commit 0debbf6b029f0967241f2c48f3136f5ae91102f7, it's apparently the cause of the recent audio buffering issues with YT across multiple platforms.

Change-Id: I917da7cafff58878918881c0fde9fb90c5096b39
(cherry picked from commit 690f0ce48760dbafa29339896c235ffb43061025)
libstagefright: unbreak hardware OMX on OMAP3

http://review.cyanogenmod.org/58070 has mistakenly reverted
http://review.cyanogenmod.org/44365 which broke hardware OMX
on OMAP3.

The fix for OMAP3 was just a logic change to prevent an
indefinate loop since the nIndex value was being overriden by
the OMX component. The code was modified to use a seprate control
value other than nIndex itself and doesnt pose any issues with
other platforms.

Change-Id: I8ca4f9d48c3f9241f21c9fe6ab98d0be5783ceab
camera: Add required symbols for Oppo devices

Change-Id: Iaf43f53130963449f4ec6d3116c58965ead1f475
camera: Remove deprecated HTC camera support code

* Squash of the following:

Revert "Add camera parameters for htc evo 3D. (1/2)"

This reverts commit 8ffd5b96c07a3bc2e9f6fda1a9b5f24ef905d0f3.

Revert "Camera: QCOM legacy definitions,HTC cam switch,NO_UPDATE_PREVIEW"

This reverts commit c62d15799f983171666bc81425245736c0184abc.

Change-Id: Icb90ef229b4019705136eafd75dbf017ed82f58c
frameworks/av: Mediacodec initialization check in QCUtils

- Mediaserver crash is observed while playing wma10pro clips
  on MM stability stress

- 8x10 device is not supporting wma10pro format from openmax
  which is resulting component creation fail.
  However in this case multiaac decoder component is creating
  which is resulting crash

- On QCUtils::helper_addMediaCodec without intialzing the codec
  we are trying to add codec capabilities which is resulting wrong
  codec capabilities to assign for multiaac decoder
  Added initializarion & flags check to fix the issue

Change-Id: I8a61d658bcbebf53a59a30bd6d812b4dafec46c6
CRs-Fixed: 552817
framework/av: Check for NULL pointer of mCblk and zero division error

latency calculation happens in two places: AudioTrack::latency() and
AudioTrack::dump(). Need to add null pointer and zero division check on
both of these places.

Change-Id: I9cbe8c1c00a390cd626bdbf202124f27e60eb3e3
Fixed-CRs: 548514
audioflinger: SRS effects are not working for LPA

    -Issue: If SRS effects are applied on LPA playback,
     in ARM side there is a delay of 4-5 seconds for effects
     application
    -Root cause: In applyEffects SRS effects are applied first and
     then Android effects are applied.
     In case of active android effects, SRS effects are called
     first and then android effects are called, so buffer with
     SRS effects is getting overwritten with buffer with
     android effects.
     If there are no android effects applied then all
     the SRS effects are overwritten with decoded data.
     So until next write call, SRS effects are not applied and hence delay
     of 4-5 seconds
    -Fix: In applyEffects first apply android effects and then
     apply SRS effects

Change-Id: I36b2133256d168f06b13c3d4a2bad00312d571ac
CRs-Fixed: 566278
framework/av: Fix for frame drop in video playback

- Breaks in video playback seen in video clips having audio content
  with sampling rates less than 16kHz.
- While extrapolating real time with system time, the real time is wrongly
  caped.
- Fix this issue by limiting the extrapolated real time only when EOS
  is reached.

Change-Id: I95b6a8f7f1f1fd561c92955cf52151ae2890c9a7
CRs-Fixed: 400398
audioflinger: Add Null pointer check while enabling effects for LPA

- MediaServer is crashing when disabling effects after mediaplayer
object is released.
- EffectChain pointer is de-referenced without NULL check, hence
leading to a mediaserver crash.
- Adding a NULL pointer check before using EffectChain object.

Change-Id: If5ff469445246028046ba65e5ddf3300180318c2
CRs-Fixed: 583305
Audio: Tunnel Exception for AAC main profile format

- Audio is not decoding properly for some mp4 content

- ADSP audio decoders don't support aac main profile

- Added tunnel exception for AAC main profile format

Change-Id: I8470457492e32d94ab36eea7b97f4e4ec8776bb4

Conflicts:
	media/libstagefright/MPEG4Extractor.cpp
Audio: Tunnel Exception for ER AAC ELD profile format

- some m4a clips are not working properly

- ADSP audio decoders don't support ER AAC ELD support

- Added tunnel exception for ER AAC ELD format.
  Added AACProfile metadata support for MKVExtractor

Change-Id: I2f6fe721b05377dfe0f24ea0ad1f6c4a885d576d