Centralize logic to detect when the DPL2 decoder should be used.

This commit is contained in:
LAGonauta 2019-11-11 08:03:36 -03:00
parent 2ff646b796
commit 08787ebc4a
5 changed files with 11 additions and 4 deletions

View file

@ -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();

View file

@ -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,

View file

@ -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);

View file

@ -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;
}

View file

@ -173,6 +173,9 @@ struct SConfig
bool bEnableCustomRTC;
u32 m_customRTCValue;
// DPL2
bool ShouldUseDPL2Decoder() const;
DiscIO::Region m_region;
std::string m_strVideoBackend;