AudioFlinger: fix fast capture silence

Silencing fast catpure tracks was not properly implemented.
Fix by zeroing fast capture thread HAL read buffer if the silenced
track is the only active, or by invalidating the silenced track
if other non fast tracks are active.

Bug: 157708122
Test: repro steps in the bug
Change-Id: I88b19540815bc1491b9e76c1ae6b6f85e32afa8f
diff --git a/services/audioflinger/FastCaptureState.h b/services/audioflinger/FastCaptureState.h
index d287232..f949275 100644
--- a/services/audioflinger/FastCaptureState.h
+++ b/services/audioflinger/FastCaptureState.h
@@ -41,6 +41,8 @@
     audio_format_t  mFastPatchRecordFormat = AUDIO_FORMAT_INVALID;
     AudioBufferProvider* mFastPatchRecordBufferProvider = nullptr;   // a reference to a patch
                                                                      // record in fast mode
+    bool            mSilenceCapture = false;    // request to silence capture for fast track.
+                                                // note: this also silences the normal mixer pipe
 
     // Extends FastThreadState::Command
     static const Command