diff --git a/Source/options.cpp b/Source/options.cpp index 9e03df042af..cefe028e867 100644 --- a/Source/options.cpp +++ b/Source/options.cpp @@ -35,8 +35,17 @@ namespace devilution { #define DEFAULT_HEIGHT 480 #endif #ifndef DEFAULT_AUDIO_SAMPLE_RATE +#if defined(_WIN64) || defined(_WIN32) +// The sound API used by SDL in Windows (WASAPI) isn't great +// at upsampling from 22050 Hz on some drivers. +// +// Upsample ourselves on Windows by default. +// See https://github.com/diasurgical/devilutionX/issues/1390 +#define DEFAULT_AUDIO_SAMPLE_RATE 48000 +#else #define DEFAULT_AUDIO_SAMPLE_RATE 22050 #endif +#endif #ifndef DEFAULT_AUDIO_CHANNELS #define DEFAULT_AUDIO_CHANNELS 2 #endif