nuplayer: Avoid PCM offload when resampler is used

 * We don't support use of the resampler on the PCM offload path,
   this kind of defeats the purpose. While the offload output path
   handles most sample rates, there are cases such as Facebook's
   video preview which use weird formats like 24000KHz mono.
 * To resolve this in NuPlayer, compare metadata from the original
   format with the output format decided by the audio system. Fail
   offload if they don't match.

Change-Id: Ibf7c3a2fa4f54b56c39cc69b1ff6b474738ee339
libstagefright: back off exynos4 hacks

Change-Id: I953f502171bc98854b5d59165057c57b3c65cdaa
libstagefright: align YV12 for software codecs on exynos4

YV12 chroma stide should be aligned to 16 according to the
android framework. But, GSC & Mali couldn't accept a seperate
stride for U & V components. They just use Y_stride/2 as a
UV Stride.

Change-Id: Ibeeb3439ee10a4666420e5fa34ff0a6d6ea7c003
libstagefright: fix YV12 stride for software codecs on exynos4

Change-Id: I3612899d2bffa474eb6447788858911757a7f45d
omx: exynos4: bring inline with jellybean

Change-Id: Ic275fd30a721f8161dcc44c2706b86ab5ea213ba
Fix overload of SoftVideoDecoderOMXComponent::updatePortDefinitions

An overloaded function should take the same parameters as the function
it is overloading.

Change-Id: I8327fe1b363917515cf76c8f76bdbc05b2c0fbf0
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
MPEG4Writer: fix mMoovBoxBuffer memory leak

In some cirumstances the writing of the moov box
leaks memory since mMoovBoxBuffer is not freed.

Change-Id: I441360f6c7e84e31fea06067eca98b66b86b54bc
Correctly handle unsupported OMX color format

MediaServer was caught in an infinite loop at OMX::getParameter.

OMX::getParameter returns status_t, using OMX_ErrorNoMore to loop
until the index passes beyond the last supported format
will not work since this function only returns ERROR_UNSUPPORTED.

Change-Id: Idde94a46af24641c0e5f1db909335db4c7e2b7f7
(2/3) av: disable camera shutter sound

Change-Id: I04eaf9924b0f37294fc0cb30186fc1cf0d72bf7b
Fix double close.

This patch will fix the double close issue in SoundPool::doLoad():

        status = MediaPlayer::decode(mFd, mOffset, mLength, &sampleRate, &numChannels, &format,
                                     mHeap, &mSize);
        ALOGV("close(%d)", mFd);
        ::close(mFd);
        mFd = -1;

In MediaPlayerService::decode() which is called directly by
MediaPlayer::decode(), the fd will be closed, and after it return, the
mFd will be closed again.

When the system is idle, the second close will fail with EBADFD, but if
the system is busy, the mFd will be reused with another open/socket/pipe
system call, and the second close will cause errors.

Change-Id: If709515392cd490fea569658202524c51f8df785
Signed-off-by: Bao Haojun <baohaojun@gmail.com>
Signed-off-by: Wang Liang <wangliang@smartisan.cn>