Fix overflow of rand in ARTPConnection

without this fix, (rand()*1000)/RAND_MAX is mainly 0.

Change-Id: I48ae940a7b6974b197d81732774c9dcea107bcf1
Signed-off-by: Yajun Zeng <beanz@marvell.com>
fix a race condition of MediaPlayerServce::Client::mClient

there will be race condition between mClient.clear in MediaPlayerServce::Client::disconnect method
and c=client->mClient in in MediaPlayerServce::Client::notify method

Change-Id: I767294c4cb864c08e9c0e9f23d6d304a39016205
Signed-off-by: beanz <beanz@marvell.com>
Fixed the wrong timestamps issue about camera recording

On emulator, the camera video recording crashes randomly.
It's caused by wrong timestamp when encoding the video frame.
The element of the vector is erased before accessing it.
Therefore, when reading the timestamp from the element,
the memory of the element has been changed.

Change-Id: I9750417fbb9dc4697ccae1e78e286b23925d3764

Signed-off-by: Panfeng Chang <panfengx.chang@intel.com>
Signed-off-by: Jun Tian <jun.j.tian@intel.com>
audioflinger: Fix to release wakelock after closeoutput

-In DirectTrack destructor, closeOutput is called after
releaseWakelock is done. This may sometimes result in
power collapse happening even before actual close
sequence of Audio path is completed and will result
in high power consumption.
-Release wakelock only after closeOutput is done
in directtrack destructor.

(cherry picked from commit fb48938f73e335ac66c83e6adba96431e050ec94)

Change-Id: Ib8d05a38f28d7e2f0bdf9e420e5db526cf874bc6
CRs-Fixed: 430786

Conflicts:
	services/audioflinger/AudioFlinger.cpp