audioflinger: Cleanups

Change-Id: I23279f0602544320a191464ecde006bbfca6ab55
AudioTrack: When paused, return cached playback position

An offload output can be re-used between two audio tracks having
the same configuration. A timestamp query for a paused track
while the other is running would return an incorrect time.
To fix this, cache the playback position on a pause() and return
this time when requested until the track is resumed.

CRs-Fixed: 612943

Change-Id: I54b5a851ee3fa2ceadc37e3f5c6af4f37b8f404a
Do partial reads in MemoryLeakTrackUtil

Do partial read in MemoryLeakTrackUtil dumpMemoryAddresses
to avoid using more memory than what is allocated.

Change-Id: I94feb4e00647407f938571167b981c7371f39e3d
libmedia: ensure mCaptureThread exit within Visualizer destructor

If mCaptureThread doesn't exit when Visualizer instance gets destroyed,
recycled member variables with random value such as danger pointer will
be accessed again and causes crash.

Thread which is created within Visualizer instance lifecycle should be
terminated before or within destructor.

CRs-Fixed: 688546
Change-Id: Ie0b12ae8a3b9735b6ecbac0353781b8358cad644
stagefright: Fix pause logic

 * This code can race during CTS. Only wait for HW decoders.

Change-Id: I4cfa049f06d27ca7ca9107ae31772f38392a8bc2
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0