Return direct/offload corrected timestamps

Previously, for direct/offload outputs with timestamp correction
enabled, getTimestamp would not return corrected timestamps, but
only raw HAL timestamps with downstream latency compensation.
To resolve this, run timestamp correction routine in getTimestamp
and return latest kernel timestamps, as threadLoop() timestamps
may be stale for (large buffer) direct/offload outputs.

Also, use timestamp verifier discontinuity new API to fix corrected
timestamps after pause/standby. Direct non-pcm and offload threads
should register timestamp verifier zero discontinuties on standby, but
other threads should register continuous discontinuities. On pause, all
threads should register continuous discontinuity. Update to use new
timestamp verifier API to set the discontinuity type on each
discontinuity event.

Test: Offloaded (eac3) into MSD HAL AudioTrack (corrected) timestamps
      Jitter standard deviation reduced.
Change-Id: I28a95c3922165689dfcbd13ab83b35dab8ec6adb
diff --git a/services/audioflinger/FastMixer.cpp b/services/audioflinger/FastMixer.cpp
index cd3c743..13e2ced 100644
--- a/services/audioflinger/FastMixer.cpp
+++ b/services/audioflinger/FastMixer.cpp
@@ -353,7 +353,8 @@
 #endif
         //ALOGD("Eric FastMixer::onWork() mIsWarm");
     } else {
-        dumpState->mTimestampVerifier.discontinuity();
+        dumpState->mTimestampVerifier.discontinuity(
+            dumpState->mTimestampVerifier.DISCONTINUITY_MODE_CONTINUOUS);
         // See comment in if block.
 #ifdef FASTMIXER_LOG_HIST_TS
         LOG_AUDIO_STATE();