diff options
| author | LAGonauta <lagonauta@gmail.com> | 2019-11-11 08:03:36 -0300 |
|---|---|---|
| committer | LAGonauta <lagonauta@gmail.com> | 2019-11-11 08:03:36 -0300 |
| commit | 08787ebc4a53bb9e64b3bb3c87f20e63c0d87841 (patch) | |
| tree | c73819d89b7d2e461c33968278922aec12642f03 /Source | |
| parent | 2ff646b79657f794390ff993b323b7b378ab08e5 (diff) | |
Centralize logic to detect when the DPL2 decoder should be used.
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/AudioCommon/CubebStream.cpp | 2 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/OpenALStream.cpp | 3 | ||||
| -rw-r--r-- | Source/Core/AudioCommon/PulseAudioStream.cpp | 2 | ||||
| -rw-r--r-- | Source/Core/Core/ConfigManager.cpp | 5 | ||||
| -rw-r--r-- | Source/Core/Core/ConfigManager.h | 3 |
5 files changed, 11 insertions, 4 deletions
diff --git a/Source/Core/AudioCommon/CubebStream.cpp b/Source/Core/AudioCommon/CubebStream.cpp index 768ea38467..5c3100c52c 100644 --- a/Source/Core/AudioCommon/CubebStream.cpp +++ b/Source/Core/AudioCommon/CubebStream.cpp @@ -37,7 +37,7 @@ bool CubebStream::Init() if (!m_ctx) return false; - m_stereo = !SConfig::GetInstance().bDPL2Decoder || SConfig::GetInstance().bDSPHLE; + m_stereo = !SConfig::GetInstance().ShouldUseDPL2Decoder(); cubeb_stream_params params; params.rate = m_mixer->GetSampleRate(); diff --git a/Source/Core/AudioCommon/OpenALStream.cpp b/Source/Core/AudioCommon/OpenALStream.cpp index 51530088b2..887e0f97f2 100644 --- a/Source/Core/AudioCommon/OpenALStream.cpp +++ b/Source/Core/AudioCommon/OpenALStream.cpp @@ -221,8 +221,7 @@ void OpenALStream::SoundLoop() bool float32_capable = palIsExtensionPresent("AL_EXT_float32") != 0; bool surround_capable = palIsExtensionPresent("AL_EXT_MCFORMATS") || IsCreativeXFi(); - bool use_surround = - SConfig::GetInstance().bDPL2Decoder && surround_capable && !SConfig::GetInstance().bDSPHLE; + bool use_surround = SConfig::GetInstance().ShouldUseDPL2Decoder() && surround_capable; // As there is no extension to check for 32-bit fixed point support // and we know that only a X-Fi with hardware OpenAL supports it, diff --git a/Source/Core/AudioCommon/PulseAudioStream.cpp b/Source/Core/AudioCommon/PulseAudioStream.cpp index 3d05cc610b..8372683a25 100644 --- a/Source/Core/AudioCommon/PulseAudioStream.cpp +++ b/Source/Core/AudioCommon/PulseAudioStream.cpp @@ -19,7 +19,7 @@ PulseAudio::PulseAudio() = default; bool PulseAudio::Init() { - m_stereo = !SConfig::GetInstance().bDPL2Decoder || SConfig::GetInstance().bDSPHLE; + m_stereo = !SConfig::GetInstance().ShouldUseDPL2Decoder(); m_channels = m_stereo ? 2 : 6; // will tell PA we use a Stereo or 5.0 channel setup NOTICE_LOG(AUDIO, "PulseAudio backend using %d channels", m_channels); diff --git a/Source/Core/Core/ConfigManager.cpp b/Source/Core/Core/ConfigManager.cpp index 1aa1b3f0a6..970dff886d 100644 --- a/Source/Core/Core/ConfigManager.cpp +++ b/Source/Core/Core/ConfigManager.cpp @@ -1063,3 +1063,8 @@ IniFile SConfig::LoadGameIni(const std::string& id, std::optional<u16> revision) game_ini.Load(File::GetUserPath(D_GAMESETTINGS_IDX) + filename, true); return game_ini; } + +bool SConfig::ShouldUseDPL2Decoder() const +{ + return bDPL2Decoder && !bDSPHLE; +} diff --git a/Source/Core/Core/ConfigManager.h b/Source/Core/Core/ConfigManager.h index 36f7ac353a..6de44b41e1 100644 --- a/Source/Core/Core/ConfigManager.h +++ b/Source/Core/Core/ConfigManager.h @@ -173,6 +173,9 @@ struct SConfig bool bEnableCustomRTC; u32 m_customRTCValue; + // DPL2 + bool ShouldUseDPL2Decoder() const; + DiscIO::Region m_region; std::string m_strVideoBackend; |
