AudioFlinger: Prevent offload underrun during active playback

Bug: 29897830
Change-Id: Id99d416cdaa8bf62daca8f92e3564f2895f15490
(cherry picked from commit f804475807407442d5596ab7378ed07d50664063)
diff --git a/services/audioflinger/Threads.h b/services/audioflinger/Threads.h
index 787b5c4..72f1437 100644
--- a/services/audioflinger/Threads.h
+++ b/services/audioflinger/Threads.h
@@ -1008,6 +1008,10 @@
     size_t      mPausedWriteLength;     // length in bytes of write interrupted by pause
     size_t      mPausedBytesRemaining;  // bytes still waiting in mixbuffer after resume
     bool        mKeepWakeLock;          // keep wake lock while waiting for write callback
+    uint64_t    mOffloadUnderrunPosition; // Current frame position for offloaded playback
+                                          // used and valid only during underrun.  ~0 if
+                                          // no underrun has occurred during playback and
+                                          // is not reset on standby.
 };
 
 class AsyncCallbackThread : public Thread {