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
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
Use gettid directly.

Bug: 17048545
Change-Id: I5ae40c2de1afc2a59f0b28e81c25f0c404368408
Move chromium_http/support.cpp off androidGetTid.

Bug: 17048545
Change-Id: I9bb86908177d8c5350124b4f8bee448595eb32a4
Remove last user of <cutils/tztime.h>.

Bug: 15765976
Change-Id: Ib21abe9349bb1863304cd7618d8fc95ca254e8f6
Merge "Move chromium_http/support.cpp off androidGetTid." into du44
Merge "Remove last user of <cutils/tztime.h>." into du44
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
Fix inline assembly for clang

add r8, r0, asl #2
and
add r8, r8, r0, asl #2

are identical in gcc inline assembly, but clang accepts only the latter
variant.

Change-Id: I922367984b6ae2f7268ce99facaf8da425c39d7e
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
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
audioflinger: only exchange AUDIO_SOURCE_HOTWORD when using pre-kitkat audio-policy

Change-Id: I46bb3074484853682c75ddc417e77b6ae846136c
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: 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
Merge "Fix inline assembly for clang" into du44
av: media: Add audio/qti-flac MIME type definition

Change-Id: Ie52fd6696cc5efa6aaff20ea56c43615467e2649
audioflinger: decline track to be offloaded if there's active one

-If multiple offload tracks are activated at the same time,
 status of the tracks can be affected by each other and results
 in unexpected behavior
-Deny subsequent track to be offloaded and fall back to sw decoder
 if there's already actived one

Change-Id: Idaa9213d54b9bcdd0e5c25c1dec516d994ae006f
CRs-Fixed: 704382
frameworks/av: Avoid timestamp query to AudioPlayer during reset

-Timestamp query while in reset leads to ANR in few cases.
-Destruction of mutex in AudioTrack destructor during reset and
trying to lock the destroyed mutex as part of getPosition() call
in parallel leads to ANR.
-Avoid querying for timestamp in case reset operation is in progress.
Instead use mAudioTearDownPosition to retrieve current playback
position.

Change-Id: Ifaa7f6236ebce1b27a0cca621bbb188c94af142d