From 6f77af20d0653dd747530078d0c5e7f1928f102b Mon Sep 17 00:00:00 2001 From: Shen-Ta Hsieh Date: Wed, 2 Dec 2020 08:05:41 +0800 Subject: [PATCH] src/output: Set fallback setting for DSD --- src/output/plugins/WasapiOutputPlugin.cxx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/output/plugins/WasapiOutputPlugin.cxx b/src/output/plugins/WasapiOutputPlugin.cxx index a9bfae83e..e160c1f38 100644 --- a/src/output/plugins/WasapiOutputPlugin.cxx +++ b/src/output/plugins/WasapiOutputPlugin.cxx @@ -113,6 +113,13 @@ inline void SetFormat(WAVEFORMATEXTENSIBLE &device_format, } } +#ifdef ENABLE_DSD +void SetDSDFallback(AudioFormat &audio_format) noexcept { + audio_format.format = SampleFormat::FLOAT; + audio_format.sample_rate = 384000; +} +#endif + inline constexpr const unsigned int kErrorId = -1; } // namespace @@ -360,6 +367,12 @@ void WasapiOutput::DoOpen(AudioFormat &audio_format) { audio_format.channels = 8; } +#ifdef ENABLE_DSD + if (audio_format.format == SampleFormat::DSD) { + SetDSDFallback(audio_format); + } +#endif + if (Exclusive()) { FindExclusiveFormatSupported(audio_format); } else {