wasapi: don't mark capture devices as failed for AUDCLNT_S_BUFFER_EMPTY.

Fixes Bugzilla #3633.
This commit is contained in:
Ryan C. Gordon 2017-05-19 12:40:55 -04:00
parent 02773811b3
commit 91e6054b03
1 changed files with 3 additions and 1 deletions

View File

@ -563,7 +563,9 @@ WASAPI_CaptureFromDevice(_THIS, void *buffer, int buflen)
DWORD flags = 0;
ret = IAudioCaptureClient_GetBuffer(this->hidden->capture, &ptr, &frames, &flags, NULL, NULL);
WasapiFailed(this, ret); /* mark device lost/failed if necessary. */
if (ret != AUDCLNT_S_BUFFER_EMPTY) {
WasapiFailed(this, ret); /* mark device lost/failed if necessary. */
}
if ((ret == AUDCLNT_S_BUFFER_EMPTY) || !frames) {
WASAPI_WaitDevice(this);