From 688629d10892daef5df38971d7f210ad946ab589 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 4 Jan 2020 09:09:04 +0100 Subject: [PATCH] (WASAPI) Get rid of one unnecessary function --- audio/drivers/wasapi.c | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) diff --git a/audio/drivers/wasapi.c b/audio/drivers/wasapi.c index 91b30cc0d9..efb4871361 100644 --- a/audio/drivers/wasapi.c +++ b/audio/drivers/wasapi.c @@ -737,38 +737,14 @@ static ssize_t wasapi_write_sh_nonblock(wasapi_t *w, const void * data, size_t s return written; } -static ssize_t wasapi_write_ex_nonblock(wasapi_t *w, const void * data, size_t size) +static ssize_t wasapi_write_ex(wasapi_t *w, const void * data, size_t size, DWORD ms) { ssize_t written = 0; size_t write_avail = fifo_write_avail(w->buffer); if (!write_avail) { - if (WaitForSingleObject( - w->write_event, 0) != WAIT_OBJECT_0) - return 0; - - if (!wasapi_flush_buffer(w, w->engine_buffer_size)) - return -1; - - write_avail = w->engine_buffer_size; - } - - written = size < write_avail ? size : write_avail; - fifo_write(w->buffer, data, written); - - return written; -} - -static ssize_t wasapi_write_ex(wasapi_t *w, const void * data, size_t size) -{ - ssize_t written = 0; - size_t write_avail = fifo_write_avail(w->buffer); - - if (!write_avail) - { - if (WaitForSingleObject( - w->write_event, INFINITE) != WAIT_OBJECT_0) + if (WaitForSingleObject(w->write_event, ms) != WAIT_OBJECT_0) return -1; if (!wasapi_flush_buffer(w, w->engine_buffer_size)) @@ -791,7 +767,7 @@ static ssize_t wasapi_write(void *wh, const void *data, size_t size) if (w->nonblock) { if (w->exclusive) - return wasapi_write_ex_nonblock(w, data, size); + return wasapi_write_ex(w, data, size, 0); return wasapi_write_sh_nonblock(w, data, size); } @@ -800,7 +776,7 @@ static ssize_t wasapi_write(void *wh, const void *data, size_t size) ssize_t ir; for (ir = -1; written < size; written += ir) { - ir = wasapi_write_ex(w, (char*)data + written, size - written); + ir = wasapi_write_ex(w, (char*)data + written, size - written, INFINITE); if (ir == -1) return -1; }