wasapi: Use IAudioClient3 interface when available
authorNirbheek Chauhan <nirbheek@centricular.com>
Wed, 14 Feb 2018 06:43:36 +0000 (12:13 +0530)
committerNirbheek Chauhan <nirbheek@centricular.com>
Mon, 26 Feb 2018 10:53:11 +0000 (16:23 +0530)
commit0cb11c15ed02896c698a3c512ca436ab432055f6
tree1a568b1105778fcfb459e839b0049307cf54d01f
parent16af66ee952804c2ddfb6ed719ea48f3092f6d9f
wasapi: Use IAudioClient3 interface when available

This allows us to request ultra-low-latency device periods even in
shared mode. However, this requires good drivers and Windows 10, so
we only enable this when we detect that we are running on Windows 10
at runtime.

You can forcibly disable this feature on Windows 10 by setting
GST_WASAPI_DISABLE_AUDIOCLIENT3=1 in the environment.
sys/wasapi/gstaudioclient3.h [new file with mode: 0644]
sys/wasapi/gstwasapisink.c
sys/wasapi/gstwasapisrc.c
sys/wasapi/gstwasapiutil.c
sys/wasapi/gstwasapiutil.h