Attribute throttle time to previous loops write time

Bug: 29991292
Change-Id: Ie3ecc9631e1dfa83fafc7b003495f59e981a0b6b
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index f7e6422..dfa3cdd 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -3326,6 +3326,9 @@
                                     " ret(%zd) deltaMs(%d) requires sleep %d ms",
                                     this, ret, deltaMs, throttleMs);
                             mThreadThrottleTimeMs += throttleMs;
+                            // Throttle must be attributed to the previous mixer loop's write time
+                            // to allow back-to-back throttling.
+                            lastWriteFinished += throttleMs * 1000000;
                         } else {
                             uint32_t diff = mThreadThrottleTimeMs - mThreadThrottleEndMs;
                             if (diff > 0) {