2016-06-27, 15:05
Same behaviour here on Windows10, Jarvis 16.1, AudioDSP settings not available for external USB DAC, only for internal audio card. Here is debug log: http://pastebin.com/ftvXaA4z
diff --git a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
index 5bb87b2..3221051 100644
--- a/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
+++ b/xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
@@ -2752,21 +2752,16 @@ bool CActiveAE::IsSettingVisible(const std::string &settingId)
}
else if (settingId == CSettings::SETTING_AUDIOOUTPUT_DSPADDONSENABLED)
{
- if (m_sink.GetDeviceType(CSettings::GetInstance().GetString(CSettings::SETTING_AUDIOOUTPUT_AUDIODEVICE)) != AE_DEVTYPE_IEC958)
- {
return true;
- }
}
else if (settingId == CSettings::SETTING_AUDIOOUTPUT_DSPSETTINGS)
{
- if (CSettings::GetInstance().GetBool(CSettings::SETTING_AUDIOOUTPUT_DSPADDONSENABLED) &&
- m_sink.GetDeviceType(CSettings::GetInstance().GetString(CSettings::SETTING_AUDIOOUTPUT_AUDIODEVICE)) != AE_DEVTYPE_IEC958)
+ if (CSettings::GetInstance().GetBool(CSettings::SETTING_AUDIOOUTPUT_DSPADDONSENABLED))
return true;
}
else if (settingId == CSettings::SETTING_AUDIOOUTPUT_DSPRESETDB)
{
- if (CSettings::GetInstance().GetBool(CSettings::SETTING_AUDIOOUTPUT_DSPADDONSENABLED) &&
- m_sink.GetDeviceType(CSettings::GetInstance().GetString(CSettings::SETTING_AUDIOOUTPUT_AUDIODEVICE)) != AE_DEVTYPE_IEC958)
+ if (CSettings::GetInstance().GetBool(CSettings::SETTING_AUDIOOUTPUT_DSPADDONSENABLED))
return true;
}
return false;
(2016-06-28, 00:25)arcam Wrote: Maybe I already found the source of this culprit :
In (current git master) xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp bool CActiveAE::IsSettingVisible() line 2755, 2763 and 2769 the DeviceType of the currently set SETTING_AUDIOOUTPUT_AUDIODEVICE is explicitly checked NOT to be AE_DEVTYPE_IEC958 to enable SETTING_AUDIOOUTPUT_DSPADDONSENABLED, SETTING_AUDIOOUTPUT_DSPSETTINGS and SETTING_AUDIOOUTPUT_DSPRESETDB. Is there any reason for these checks ? I'm currently compiling a version with these checks removed - hopeful that this is the last barrier to elevated high end music reproduction
Edit: Disabling the checks works for me - here is the patch I whipped up :