Fixing aliasing violations, C++ 11, and gcc 4.7 changes from linaro.

av: Fix duplicate definition of size_t n

Needed to make it build with gcc 4.7+

Change-Id: I78db38b094d9ffc7ee9d410d8d3f642e619eb008
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

stagefright: Fix triple redefinition of i

Needed to fix build with gcc 4.7+

Change-Id: I0767a5a4634f808f779b577cffd74e81dd5439fb
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/media: Fix aliasing violations

Change-Id: I0c3ad4d935abe6cf6df222f7d70381d868f15fe8
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

av: Fix aliasing violations in AudioFlinger

Change-Id: Iec37ad0c2e30f34d72f8bf63c6c1aeceba0e3d50
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

libmediaplayerservice: Fix aliasing violation

Change-Id: I70c674e7f563cf76abd078b662bb18598081f29d
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

downmix: Fix aliasing violation

Change-Id: I1907da54e9ec40c9afe56c488a974d5286b787e4
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

EffectVisualizer: Fix aliasing violations

Change-Id: I35532464df41a64ed920c34ad4bc1054cf6324b2
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/av: Fix build in ISO C++ 11 mode

Fix build in ISO C++ 11 mode: constructs that are being interpreted as
new string literals and const vs. constexpr

Change-Id: Ibdf4867da37b819b1a499180edcf7ad480b6b9de
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

av: More ISO C++ 11 fixes

Change-Id: I84bfab66d561cb0ded6e312b8cfe02e5fe2a182f
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

av: Fix build in ISO C++11 mode

Change-Id: I461d8ce5b24afedee245a6441b600df286c76b63
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

Conflicts:

	media/libmediaplayerservice/MediaPlayerService.cpp

Signed-off-by: Stevespear426 <stephen.k.spear@gmail.com>

Conflicts:
	services/audioflinger/AudioFlinger.cpp
Prevent AudioCommands being freed before read

When AudioCommandThread::threadLoop process AudioCommands it was
possible for it to delete a command where the posting thread still
hadn't read that status from it.

If a second command signaled the thread loop to continue after it
had inserted a new command while the thread loop was actually waiting
for the first command to report that it had read the status the
thread loop would continue and delete the first command.

Changed the wait condition when waiting for the calling thread to
read status to use command->mCond instead of mWaitWorkCV. This way
it's guaranteed that the signal to continue comes from the correct
thread.

Change-Id: Ia69b48cb4fdfaf8b4c83b56a197fb9f2058a92d1
Set u.ext_data to null after it has been freed

SEGV_MAPPER crash could happen in MetaData::typed_data::freeStorage.
The faulty address could be both random pointers and deadbaad. It
seems like free could be called more than once on u.ext_data. Set
u.ext_data to null after it has been freed as there already is a
null check before trying to free it.

Change-Id: I710c49f9c231bd8852159914c0b2add58a685f0e
libstagefright: Use LOG_BASIC when use chromium http stack

When using chromium http stack, the LogLevel is LOG_ALL, and
in chromium_net, LOG_ALL will HexEncode all received data. thus
playing a 10Mbps 1080P video stream  will generate 20Mbps Hex Buffer
for event logging. This is a heavy operation for logging.

Change-Id: I28e8173e1aa806dd23014378d530d30187360060
Author: Xuefeng Deng <xuefeng.deng@intel.com>
Singed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 35737
Typo in CameraParameters::set

Typo: 'key' --> 'value'

Change-Id: Idd0426263cf2125a796406abaf6f29f04f425fe4
av: Fix compile errors

Don't use memcpy() on areas that may overlap
Fix aliasing violation

Change-Id: Icd54cf12c2485a3d2789d1fb75c3a8a964c4163f
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Handle undefined NAL type for h264 streaming

Packages of undefined NAL type (0) was observed but lead to deleting
the subsequent package due to the current assembler implementation.
Identifying and ignoring this package without returning an error
handles undefined packages without side-effects.

Change-Id: I02e15b8682bee3154b3c4acf82639a28417f0c85
Fix strict aliasing in Effects.cpp and MPEG4Extractor.cpp

Change-Id: I9a40eeac1e9dee485e869ea1f9326e8f98d66805
Fix crash in MyHandler when sockets are not set.

-When going quickly in and out of the video view during an rtsp
streaming session, a race condition occurs and MyHandler tries to
connect to a socket that has been reset. To avoid this,
checks are added.
- If there are errors during setupTrack 1, it is no use
setting up track 2. It will cause new errors.
- No assert for socket connect since there is a normal
status check already.

Change-Id: Ie06221d6c0d78ce0449f76c782ed5120fa646bfd
Fix mismatched delete/new couple

In RecordThread::readInputParameters(), mRsmpInBuffer is allocated
with new[] and should be freed with delete[] instead of delete.

This error has been found by valgrind.

Change-Id: I2f947abb658a21a7d1e61eebb99270cb37d2d147
Signed-off-by: Andrei V. FOMITCHEV <andreix.fomitchev@intel.com>
Signed-off-by: David Wagner <david.wagner@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
strtok stores its values in thread local storage.
So it can not guarantee works well when multithread environment.
AudioFlinger has multithread.
so strtok_r is more safe.

Change-Id: I6d77ef9cc49a4478dd856dcdca14e4920ce955c6
frameworks/av: Fix Visualizer's get/set parameter methods not worked bug

This commit fixes broken Visualizer's get/set parameter methods.
The bug was introduced by modifications to avoid complilation errors.(*1, *2)

  (*1) Commit ID: d64a966f40b05f514312291b2e43b6e7c475845c

    frameworks/media: Fix aliasing violations

  (*2) Commit ID: 350adb3460dfa29eac5e34c3e2a90cf5011ce3d4

    EffectVisualizer: Fix aliasing violations

Change-Id: I5fcef8d958108bf442b96d7726069f82ffbfe49c

Fixed strict alasing bug

Change-Id: I62d5d7efd0ec332b0f58bd12811f88d36aff6eba