Skip to content
Permalink
Browse files

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

  • Loading branch information
LAGonauta committed Nov 11, 2019
1 parent 2ff646b commit 08787ebc4a53bb9e64b3bb3c87f20e63c0d87841
@@ -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();
@@ -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,
@@ -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);
@@ -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;
}
@@ -173,6 +173,9 @@ struct SConfig
bool bEnableCustomRTC;
u32 m_customRTCValue;

// DPL2
bool ShouldUseDPL2Decoder() const;

DiscIO::Region m_region;

std::string m_strVideoBackend;

0 comments on commit 08787eb

Please sign in to comment.
You can’t perform that action at this time.