libstagefright: refactor Legacy LPA makefile

  - add in msm7x27a
  - remove unused USE_LPA_MODE flag

Change-Id: I9e8d9376e1cfbd37e6457c0fd8e6252848f6b24d
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 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
Revert "audio:Avoid AudioTrackThread if Track creation fails"

This reverts commit b96f07930159ebbdcd44645ac62604ff6cbddfc7.

Change-Id: Iae20ed1c59a206450b3de18118b1b9c4a8a469c5
audioflinger: only exchange AUDIO_SOURCE_HOTWORD when using pre-kitkat audio-policy

Change-Id: I46bb3074484853682c75ddc417e77b6ae846136c
Revert "Fix decoder EOS handling"

 * This is causing carnage for apps and games which make assumptions
   about the (bad) behavior of EOS handling. While this patch makes
   it consistent across the board, let's stay bug-for-bug compatible.
 * L is going to break a lot of shit :(

This reverts commit ff9a42d3c4460714dcb963f1a9f22f06a8f7fc8d.

Change-Id: Iab33edf64f5ec02e4391713e2bd0630ea056b3fd
ENGR00294739 coreimage, screenrecord sometimes fail when shift different video

The recorder exit because can't request encoder buffer. In this case,
sample table is not written to the mp4 file, so can't play.
Make sure the sample table is written can fix it.

Change-Id: Ia38e28d4a9a10a70bb352b03dd17a62d090c9ad4
stagefright: Move to 64 available tracks

Many games use numerous tracks.  If the system
runs out of tracks, new tracks won't be able
to be created.  This has been causing notifications
not to play if many apps are holding open tracks.

Issue: BACON-6

Change-Id: I9cea51b9bd678feba31a88e17dd22083b01d81de
stagefright: stop audio source if player fails to start

Change-Id: I70083f8bfe8409283e52eea017d27d94767c5244
stagefright: Fix 24-bit WAV

 * When 24-bit output is enabled, we need to ensure that padding
   to 32 bits is done correctly.
 * Create new output buffers which conform to the correct format.

Change-Id: I5c07027ee8d3040147698c1f484b40991f943c03
cameraservice: Resolve message vs start/stop preview races

Move the mutex in start/stopPreview to include the metadata message
management. Fast start/stop sequences could (and would) eventually
cause the messages to be enabled/disabled out of sequence (or while
the camera wasn't ready for it)

Fixes BACON-173

Change-Id: I367bc45729ce2e858fea972f35e881a755c6021a
Revert "audio: ID3 tags of most chinese songs display messy"

This reverts commit b8c58116a5850b2daf8d9dde91623dd335737635.

This change causes encoding issues if one has files in a non-UTF8
encoding and uses en_US locale. For details, refer to the JIRA ticket.

JIRA: CYAN-3511
Change-Id: I64751297283038b570cce1eec173f3fbc08db83f
libstagefright: stop audio source before deleting AudioPlayer

-audio source won't be stopped during AudioPlayer destruction
 due to start failed and AUDIOPLAYER_STARTED not set
-handle audio source stop in AwesomePlayer if AUDIOPLAYER_STARTED
 not set

Change-Id: I395c045a0a8a5d5b6ea8cc762d6a2636bb885b0e
CRs-Fixed: 704605
libstagefright: fix drainInputBuffers for FlushCompleteEmulation Quirk

Codecs which use the "requires-flush-complete-emulation" require
flushing (draining) the buffers before filling them. The change
"accelerate camera recording start up speed" has changed the order
of filling and draining the buffers which doesn't work well with
the FlushCompleteEmulation quirk

Change-Id: I78193f0aca4a85455393a4cf20d33b919ea6a57e
stagefright: update OMAP3 h264 codec data construction

Changes are based on gingerbread branch and they help improve
video stuttering on OMAP3.

Change-Id: Ic886a4c555c2a7a41204e7a18f38560744b782f6
libstagefright: update OMAP3 support

* Move the OMAP_ENHANCENEMENT flag to make sure that the
  buffer is not modified futher on.
* Don't queue more than 4 buffers to the component. This
  greatly improved the video recording framerates both for
  480P and 720P.

Change-Id: Iacc983214d873099e8f6218f374717a2ae4ffcc8
stagefright: ifdef "libstagefright: Use proper ctts offset"

Causes A/V sync issues or corrupted recordings on NON-QCOM hardware

Change-Id: I8c8625c41936c3ecc9a70f82ddc17e6e66503fd3
stagefright: fix YV12 chroma stride align for Exynos4

Commit 906eba (exynos4: libstragefright: add support for samsung colorformat/omx/mfc)
was supposed to apply YV12 chroma stride align to 16 for the Planar format but was
mistakenly applied for all the other formats.

Source: http://git.insignal.co.kr/samsung/exynos/android/platform/frameworks/base/tree/media/libstagefright/colorconversion/SoftwareRenderer.cpp?h=exynos-ics&id=ede5597dcf8e9626b6a0ecf1a025c1e4bf57411e#n161

Change-Id: Iae0e785a908be8a452f6c5e947cd0175d777165b
stagefright: Add flag for enabling enhanced offload support

 * Some devices might not use the QCOM_HARDWARE flag, but still
   want to get the improved audio offload support.
 * Add TARGET_ENABLE_OFFLOAD_ENHANCEMENTS to enable support for
   PCM offload and 24-bit playback with no extra dependencies.

Change-Id: Ie1a92602c6c0cd59008db8dbf72125eecef08e85
av: camera: Generic QCOM camera symbols

 * Several symbols declared Oppo specific are QCOM generic

Change-Id: I0a1b5742d8e4d08963cbd43e69c87609eef45b59