return;
}
- CSingleLock lock(m_critSection);
-
/* first stop and remove any audio dsp add-on's */
Deactivate();
+ CSingleLock lock(m_critSection);
+
CLog::Log(LOGNOTICE, "ActiveAE DSP - starting");
/* don't start if Settings->System->Audio->Audio DSP isn't checked */
void CActiveAEDSP::Deactivate(void)
{
- CSingleLock lock(m_critSection);
-
/* check whether the audio dsp is loaded */
if (!m_isActive)
return;
- CLog::Log(LOGNOTICE, "ActiveAE DSP - stopping");
-
/* stop thread */
- StopThread(false);
+ StopThread();
- /* unload all data */
- Cleanup();
+ CSingleLock lock(m_critSection);
- /* close database */
- if (m_databaseDSP.IsOpen())
- m_databaseDSP.Close();
+ CLog::Log(LOGNOTICE, "ActiveAE DSP - stopping");
/* destroy all addons */
for (AE_DSP_ADDONMAP_ITR itr = m_addonMap.begin(); itr != m_addonMap.end(); ++itr)
itr->second->Destroy();
m_addonMap.clear();
+
+ /* unload all data */
+ Cleanup();
+
+ /* close database */
+ if (m_databaseDSP.IsOpen())
+ m_databaseDSP.Close();
}
void CActiveAEDSP::Cleanup(void)
else if (!m_noAddonWarningDisplayed)
ShowDialogNoAddonsEnabled();
}
-
- Sleep(1000);
+ else
+ {
+ Sleep(1000);
+ }
}
m_isActive = false;