Avoid invalid memory access when using extractMetadata()

BpMediaMetadataRetriever::extractMetadata() returns a string
which is returned by readCString() function of the reply parcel object.
However, the parcel object is destroyed at the end of the
extractMetadata() function, and so the returned pointer is invalid.
This patch fixes this problem by storing the metadata string value.

Change-Id: I2a2ccba78246175b2845a237679d6cebe881e83b
Signed-off-by: Sangkyu Lee <sk82.lee@lge.com>
Memory leak solved in MPEG4Extractor::parseChunk for cover art

Repeated leaks detected in mediaserver context. Most chunks small but
some bigger. Adding up it was not uncommon to see 200Mb footprint.
libc memdebug allocation call stack showed the root cause in "covr"
parsing - that explains why content often was empty but sometimes big.

Change-Id: I0de6c1eeef174d2529973ff9c6a020ec3dd44c75
Allow multichannel FLAC files

FLACExtractor had artificial limits which did not allow multichannel
audio, 88.2 or 96 kHz samplerate, these were removed since it is up
to the audio subsystem to handle.

Change-Id: Iadc20cdf4724814b5c980827a528a1e1b4bd6a82
Fix bug in WAVExtractor for 24-bit per sample wav

support stereo/multichannel 24-bit format
kMaxFrameSize is fixed to 32768. When converting 24-bit to 16-bit,
number of samlpes is maxBytesToRead /3.
In this case, if the maxBytesToRead is not multiple of 3,
pcm data is messed when converting.

Bug:7630939
Change-Id: I0ea1b53eb1272a8d83b63815fc0a05b73cef75f1
Match new paths and organization in external/libvpx

See I2c0a87b0fc049e855e21f455b806287b578091de

Change-Id: Iec8566bce0a4763a9a17b4a46f15aa39b5bcd141
Fix bad checks that causes crash when streaming H.263 content.

Remove checks that causes crash for rtsp streamed h.263 content
with certain values in the RTP payload header:
Remove zero check for the five reserved bits in the payload header.
According to RFC 4629 these bits MUST be ignored by receivers.
Remove zero-check for the VRC (Video Redundancy Coding) bit,
skip packet instead.
Remove zero-check for the PLEN bits (extra picture header),
skip packet instead.
Remove zero-check for the PEBIT bits (extra picture header),
skip packet instead.
Remove corresponding zero check for the four resreved bits in the
AMR payload header. According to RFC 4867 these bits MUST be
ignored by receivers.

Change-Id: I7fc21d69a19d23da24f9267623c338d415ef1387
Initialize and copy mRotationAngle in VideoFrame

When thumbnails were generated they could be generated at random
angles as the mRotationAngle variable was not initialized to any
value. This variable would have to be explicitly overwritten to not
cause random rotation. Changed the implementation to initialize the
value to 0 (no rotation). mRotationAngle was also missing in the
copy constructor.

Change-Id: I67a5340fdd807c6ab3a3da5eecb09b5b9d5f4666
SoftAMR: Signal the right frame format

The correct enum for the format used is OMX_AUDIO_AMRFrameFormatFSF,
which is the same as is used in amrnb/enc/SoftAMRNBEncoder.cpp,
amrwbenc/SoftAMRWBEncoder.cpp and in OMXCodec and ACodec.

The OMX_AUDIO_AMRFrameFormatConformance enum refers to an odd file
format only used for conformance tests, not used in the wild.

Change-Id: Idc395fc1d4969e33453522d6ec6526876438c526