portaudio/include
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jörn Heusipp aa0748a5b5 wasapi: Add paWinWasapiAutoConvert flag, which sets AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM | AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY for Shared mode streams.
AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM is required in order to allow for sample rates other than the system mixer configured sample rate. Otherwise, WASAPI is limited to a single system configured sample rate in Shared mode, which is a severe limitation compared to other APIs supported by PortAudio.
AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY is recommended to be used additionally.
See <https://docs.microsoft.com/en-us/windows/desktop/coreaudio/audclnt-streamflags-xxx-constants> for documentation.

GetClosestFormat is modified to exit early when paWinWasapiAutoConvert is set in Shared mode because we trust the WASAPI conversions to succeed.

We restrict these changes to Windows 7 (and later) because documentation does not clearly state the minimum required Windows version. Windows Vista was not available for testing.

This patch has been in production in OpenMPT (<https://openmpt.org/>) since version 1.27.01.00 (2017-09-27). PortAudio WASAPI Shared mode is the default output device type in OpenMPT for Windows 7 (and later) and also for Wine setups.
2019-04-05 10:02:17 +03:00
..
pa_asio.h renamed PaAsio_GetAvailableLatencyValues to PaAsio_GetAvailableBufferSizes and included a backward compatibility #define. see ticket #111. 2011-05-02 15:49:20 +00:00
pa_jack.h added #include portaudio.h to pa_mac_core.h so it is consistent with all other host-api specific headers. closes ticket #7 2011-02-04 10:41:58 +00:00
pa_linux_alsa.h alsa: 2011-02-11 00:15:51 +00:00
pa_mac_core.h minor fix for OS X 10.7: include AudioToolbox 2012-10-07 15:31:25 +00:00
pa_win_ds.h Normalize all the line endings 2016-05-18 22:13:20 -07:00
pa_win_wasapi.h wasapi: Add paWinWasapiAutoConvert flag, which sets AUDCLNT_STREAMFLAGS_AUTOCONVERTPCM | AUDCLNT_STREAMFLAGS_SRC_DEFAULT_QUALITY for Shared mode streams. 2019-04-05 10:02:17 +03:00
pa_win_waveformat.h Normalize all the line endings 2016-05-18 22:13:20 -07:00
pa_win_wdmks.h Update doxygen comments for WDM/KS to indicate that new APIs are available in 19.5.0 2016-09-25 17:49:15 +10:00
pa_win_wmme.h added #include portaudio.h to pa_mac_core.h so it is consistent with all other host-api specific headers. closes ticket #7 2011-02-04 10:41:58 +00:00
portaudio.h Merge branch 'ticket_275_pass_void' into 'master' 2018-05-26 04:49:10 +00:00