gstreamer/sys/wasapi
Christoph Reiter 3b1c7ef8e4 wasapisink: recover from low buffer levels in shared mode
In case the wasapi buffer levels got low in shared mode we would still wait until
more buffer is available until writing something in it, which means we could never
catch up and recover.

Instead only wait for a new buffer in case the existing one is full and always write
what we can. Also don't loop until all data is written since the base class can handle
that for us and under normal circumstances this doesn't happen anyway.

This only works in shared mode, as in exclusive mode we have to exactly
fill the buffer and always have to wait first.

This fixes noisy (buffer underrun) playback with the wasapisink under load.

https://bugzilla.gnome.org/show_bug.cgi?id=796354
2018-05-25 19:06:37 +05:30
..
gstaudioclient3.h wasapi: Guard IAudioClient2 structs and enums 2018-03-10 18:54:59 +05:30
gstwasapi.c wasapi: Increase rank to prefer over directsoundsrc 2018-03-01 15:33:18 +05:30
gstwasapidevice.c wasapi: Fix indentation issues missed by the commit hook 2018-02-08 11:46:01 +05:30
gstwasapidevice.h wasapi: Fix indentation issues missed by the commit hook 2018-02-08 11:46:01 +05:30
gstwasapisink.c wasapisink: recover from low buffer levels in shared mode 2018-05-25 19:06:37 +05:30
gstwasapisink.h wasapi: Call _Start if the client was _Reset 2018-04-10 05:16:54 +05:30
gstwasapisrc.c wasapi: Don't pass CoTaskMemFree to g_clear_pointer 2018-05-23 13:24:00 +05:30
gstwasapisrc.h wasapi: Call _Start if the client was _Reset 2018-04-10 05:16:54 +05:30
gstwasapiutil.c wasapisink: fix a rounding error when calculating the buffer frame count 2018-05-25 19:06:16 +05:30
gstwasapiutil.h wasapi: use FAILED to detect errors 2018-05-23 13:24:00 +05:30
Makefile.am wasapi: ship audioclient3 header in tarballs 2018-03-09 11:42:13 +00:00
meson.build Meson: Generate pc file for all plugins in bad 2018-04-25 11:08:09 +01:00