Do not acknowledge flush() on start() for static tracks

Bug: 22938515
Change-Id: I1de653de169a3fbbaa693da6057897ea57772447
diff --git a/services/audioflinger/Tracks.cpp b/services/audioflinger/Tracks.cpp
index f7da209..d058255 100644
--- a/services/audioflinger/Tracks.cpp
+++ b/services/audioflinger/Tracks.cpp
@@ -712,9 +712,12 @@
             // But in this case we know the mixer thread (whether normal mixer or fast mixer)
             // isn't looking at this track yet:  we still hold the normal mixer thread lock,
             // and for fast tracks the track is not yet in the fast mixer thread's active set.
-            ServerProxy::Buffer buffer;
-            buffer.mFrameCount = 1;
-            (void) mAudioTrackServerProxy->obtainBuffer(&buffer, true /*ackFlush*/);
+            // TODO: remove race condition on stop() followed by start().
+            if (mSharedBuffer == 0) {  // only streaming tracks use flush().
+                ServerProxy::Buffer buffer;
+                buffer.mFrameCount = 1;
+                (void) mAudioTrackServerProxy->obtainBuffer(&buffer, true /*ackFlush*/);
+            }
         }
     } else {
         status = BAD_VALUE;