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) {