AudioTrackShared: fix min buffer size

Fast Tracks can have very low buffer sizes.

Bug: 27765661
Bug: 27765632
Change-Id: I70262b2a0136aea3c0936aec85f15b0fc78d168f
Signed-off-by: Phil Burk <philburk@google.com>
diff --git a/media/libmedia/AudioTrackShared.cpp b/media/libmedia/AudioTrackShared.cpp
index e5d6fc3..f7baa15 100644
--- a/media/libmedia/AudioTrackShared.cpp
+++ b/media/libmedia/AudioTrackShared.cpp
@@ -88,13 +88,14 @@
 
 uint32_t ClientProxy::setBufferSizeInFrames(uint32_t size)
 {
-    // TODO set minimum to 2X the fast mixer buffer size.
     // The minimum should be  greater than zero and less than the size
     // at which underruns will occur.
-    const uint32_t minimum = 128 * 2; // arbitrary
+    const uint32_t minimum = 16; // based on AudioMixer::BLOCKSIZE
     const uint32_t maximum = frameCount();
     uint32_t clippedSize = size;
-    if (clippedSize < minimum) {
+    if (maximum < minimum) {
+        clippedSize = maximum;
+    } else if (clippedSize < minimum) {
         clippedSize = minimum;
     } else if (clippedSize > maximum) {
         clippedSize = maximum;