Only read timestamps from HAL if not FastCapture

Prevents blocking FastCapture from the RecordThread

Bug: 29392543
Change-Id: Icd00534677be121bc4f4e9a7a6bd5b44f6f14f50
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index 2547746..bb5c97f 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -6237,7 +6237,8 @@
         mTimestamp.mTimeNs[ExtendedTimestamp::LOCATION_SERVER] = systemTime();
 
         // Update server timestamp with kernel stats
-        if (mInput->stream->get_capture_position != nullptr) {
+        if (mInput->stream->get_capture_position != nullptr
+                && mPipeSource.get() == nullptr /* don't obtain for FastCapture, could block */) {
             int64_t position, time;
             int ret = mInput->stream->get_capture_position(mInput->stream, &position, &time);
             if (ret == NO_ERROR) {