Disable fast capture for record thread attached to MSD

As part of latency reduction in MSD, the reported block size of
anything less than 12ms will enable the fast capture feature in
AudioFlinger. However, the fast capture is not functioning as expected
where the framework crashes due to empty frames read requests and
simultaneous read requests from PassthruPatchRecord thread.

In order enable the smaller block size processing in MSD HAL, disable
the fast capture functionality so that, default PassthruPatchRecord can
be used for successful audio playback.

Bug: 262773950
Bug: 262852184
Change-Id: I5f3ed9c58055b6fd6b6a876fb131fec348f4c83c
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index 67a8caf..158d654 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -7533,10 +7533,11 @@
         ALOGV("%p kUseFastCapture = Always, initFastCapture = true", this);
         break;
     case FastCapture_Static:
-        initFastCapture = (mFrameCount * 1000) / mSampleRate < kMinNormalCaptureBufferSizeMs;
-        ALOGV("%p kUseFastCapture = Static, (%lld * 1000) / %u vs %u, initFastCapture = %d",
-                this, (long long)mFrameCount, mSampleRate, kMinNormalCaptureBufferSizeMs,
-                initFastCapture);
+        initFastCapture = !mIsMsdDevice // Disable fast capture for MSD BUS devices.
+                && (mFrameCount * 1000) / mSampleRate < kMinNormalCaptureBufferSizeMs;
+        ALOGV("%p kUseFastCapture = Static, (%lld * 1000) / %u vs %u, initFastCapture = %d "
+                "mIsMsdDevice = %d", this, (long long)mFrameCount, mSampleRate,
+                kMinNormalCaptureBufferSizeMs, initFastCapture, mIsMsdDevice);
         break;
     // case FastCapture_Dynamic:
     }