diff --git a/plugins/win-wasapi/win-wasapi.cpp b/plugins/win-wasapi/win-wasapi.cpp index 4906ec4ab..2b1206c6b 100644 --- a/plugins/win-wasapi/win-wasapi.cpp +++ b/plugins/win-wasapi/win-wasapi.cpp @@ -181,6 +181,7 @@ class WASAPISource { const SourceType sourceType; std::atomic useDeviceTiming = false; std::atomic isDefaultDevice = false; + std::atomic sawBadTimestamp = false; bool hooked = false; bool previouslyFailed = false; @@ -1092,11 +1093,11 @@ bool WASAPISource::ProcessCaptureData() return false; } - if (flags & AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR) { - blog(LOG_ERROR, "[WASAPISource::ProcessCaptureData]" - " Timestamp error!"); - capture->ReleaseBuffer(frames); - return false; + if (!sawBadTimestamp && + flags & AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR) { + blog(LOG_WARNING, "[WASAPISource::ProcessCaptureData]" + " Timestamp error!"); + sawBadTimestamp = true; } if (flags & AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY) {