diff options
author | Alwin Esch <alwin.esch@web.de> | 2015-09-12 22:50:28 +0200 |
---|---|---|
committer | Alwin Esch <alwin.esch@web.de> | 2015-09-12 22:50:28 +0200 |
commit | ef0f41dc2ac7a172b8bec8dd04ab540737d7aaa5 (patch) | |
tree | 61c70b526cc829308f8526377b9976e616164435 | |
parent | 0b044042325aeccb896cd780fbf33f844144e29d (diff) | |
parent | 25320dd4424a00aecf2eacfc8ba8a226be945549 (diff) |
Merge pull request #8020 from AlwinEsch/fix-incorrect-dsp-labels
[adsp] fix startup crash and startup add-on checks, improve loops
-rw-r--r-- | addons/resource.language.en_gb/resources/strings.po | 12 | ||||
-rw-r--r-- | xbmc/Application.cpp | 3 | ||||
-rw-r--r-- | xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSP.cpp | 108 | ||||
-rw-r--r-- | xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPAddon.cpp | 2 | ||||
-rw-r--r-- | xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPDatabase.cpp | 4 | ||||
-rw-r--r-- | xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPProcess.cpp | 58 | ||||
-rw-r--r-- | xbmc/filesystem/AddonsDirectory.cpp | 17 |
7 files changed, 117 insertions, 87 deletions
diff --git a/addons/resource.language.en_gb/resources/strings.po b/addons/resource.language.en_gb/resources/strings.po index 9e237ea883..ada89ec587 100644 --- a/addons/resource.language.en_gb/resources/strings.po +++ b/addons/resource.language.en_gb/resources/strings.po @@ -9602,7 +9602,17 @@ msgctxt "#19272" msgid "You need a tuner, backend software, and an add-on for the backend to be able to use PVR. Please visit http://kodi.wiki/view/PVR to learn more." msgstr "" -#empty strings from id 19273 to 19274 +#. Header on DialogOK +#: xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSP.cpp +msgctxt "#19273" +msgid "No audio DSP add-ons could be found" +msgstr "" + +#. DialogOK for no installed ADSP add-on available +#: xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSP.cpp +msgctxt "#19274" +msgid "You need a add-on installed for the process of audio DSP signal. System becomes disabled." +msgstr "" #: xbmc/pvr/timers/PVRTimerInfoTag.cpp msgctxt "#19275" diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp index 3cb2ce4ce2..1b02bc90df 100644 --- a/xbmc/Application.cpp +++ b/xbmc/Application.cpp @@ -662,9 +662,6 @@ bool CApplication::Create() return false; } - // start AudioDSP engine with a blocking message - CApplicationMessenger::GetInstance().SendMsg(TMSG_SETAUDIODSPSTATE, ACTIVE_AE_DSP_STATE_ON); - // restore AE's previous volume state SetHardwareVolume(m_volumeLevel); CAEFactory::SetMute (m_muted); diff --git a/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSP.cpp b/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSP.cpp index 2f5d6d7d47..802e650c5a 100644 --- a/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSP.cpp +++ b/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSP.cpp @@ -194,7 +194,7 @@ void CActiveAEDSP::TriggerModeUpdate(bool bAsync /* = true */) return; } - for (unsigned int i = 0; i < AE_DSP_MODE_TYPE_MAX; i++) + for (unsigned int i = 0; i < AE_DSP_MODE_TYPE_MAX; ++i) { m_modes[i].clear(); m_databaseDSP.GetModes(m_modes[i], i); @@ -231,7 +231,7 @@ void CActiveAEDSP::Deactivate(void) m_databaseDSP.Close(); /* destroy all addons */ - for (AE_DSP_ADDONMAP_ITR itr = m_addonMap.begin(); itr != m_addonMap.end(); itr++) + for (AE_DSP_ADDONMAP_ITR itr = m_addonMap.begin(); itr != m_addonMap.end(); ++itr) itr->second->Destroy(); m_addonMap.clear(); @@ -240,15 +240,16 @@ void CActiveAEDSP::Deactivate(void) void CActiveAEDSP::Cleanup(void) { CActiveAEDSPProcessPtr tmp; - for (int i = 0; i < AE_DSP_STREAM_MAX_STREAMS; i++) + for (unsigned int i = 0; i < AE_DSP_STREAM_MAX_STREAMS; ++i) m_usedProcesses[i] = tmp; m_isActive = false; m_usedProcessesCnt = 0; - m_isValidAudioDSPSettings = false; + m_isValidAudioDSPSettings = false; + m_noAddonWarningDisplayed = false; m_outdatedAddons.clear(); - for (unsigned int i = 0; i < AE_DSP_MODE_TYPE_MAX; i++) + for (unsigned int i = 0; i < AE_DSP_MODE_TYPE_MAX; ++i) m_modes[i].clear(); } @@ -358,8 +359,8 @@ bool CActiveAEDSP::IsInUse(const std::string &strAddonId) const { CSingleLock lock(m_critSection); - for (AE_DSP_ADDONMAP_CITR itr = m_addonMap.begin(); itr != m_addonMap.end(); itr++) - if (itr->second->Enabled() && itr->second->ID() == strAddonId) + for (AE_DSP_ADDONMAP_CITR citr = m_addonMap.begin(); citr != m_addonMap.end(); ++citr) + if (citr->second->Enabled() && citr->second->ID() == strAddonId) return true; return false; } @@ -374,9 +375,11 @@ int CActiveAEDSP::GetAudioDSPAddonId(const AddonPtr &addon) const { CSingleLock lock(m_critUpdateSection); - for (AE_DSP_ADDONMAP_CITR itr = m_addonMap.begin(); itr != m_addonMap.end(); itr++) - if (itr->second->ID() == addon->ID()) - return itr->first; + for (AE_DSP_ADDONMAP_CITR citr = m_addonMap.begin(); citr != m_addonMap.end(); ++citr) + { + if (citr->second->ID() == addon->ID()) + return citr->first; + } return -1; } @@ -536,7 +539,7 @@ bool CActiveAEDSP::CreateDSPs(unsigned int &streamId, CActiveAEDSPProcessPtr &pr } else { - for (int i = 0; i < AE_DSP_STREAM_MAX_STREAMS; i++) + for (unsigned int i = 0; i < AE_DSP_STREAM_MAX_STREAMS; ++i) { /* find a free position */ if (m_usedProcesses[i] == NULL) @@ -578,7 +581,7 @@ void CActiveAEDSP::DestroyDSPs(unsigned int streamId) { m_usedProcesses[streamId]->Destroy(); m_usedProcesses[streamId] = CActiveAEDSPProcessPtr(); - m_usedProcessesCnt--; + --m_usedProcessesCnt; } if (m_usedProcessesCnt == 0) { @@ -652,7 +655,7 @@ bool CActiveAEDSP::UpdateAndInitialiseAudioDSPAddons(bool bInitialiseAllAudioDSP if (map.size() == 0) return false; - for (unsigned iAddonPtr = 0; iAddonPtr < map.size(); iAddonPtr++) + for (unsigned iAddonPtr = 0; iAddonPtr < map.size(); ++iAddonPtr) { const AddonPtr dspAddon = map.at(iAddonPtr); bool bEnabled = dspAddon->Enabled() && @@ -718,13 +721,13 @@ bool CActiveAEDSP::UpdateAndInitialiseAudioDSPAddons(bool bInitialiseAllAudioDSP if (disableAddons.size() > 0) { CSingleLock lock(m_critUpdateSection); - for (VECADDONS::iterator it = disableAddons.begin(); it != disableAddons.end(); it++) + for (VECADDONS::iterator itr = disableAddons.begin(); itr != disableAddons.end(); ++itr) { /* disable in the add-on db */ - CAddonMgr::GetInstance().DisableAddon((*it)->ID()); + CAddonMgr::GetInstance().DisableAddon((*itr)->ID()); /* remove from the audio dsp add-on list */ - VECADDONS::iterator addonPtr = std::find(m_addons.begin(), m_addons.end(), *it); + VECADDONS::iterator addonPtr = std::find(m_addons.begin(), m_addons.end(), *itr); if (addonPtr != m_addons.end()) m_addons.erase(addonPtr); } @@ -736,6 +739,7 @@ bool CActiveAEDSP::UpdateAndInitialiseAudioDSPAddons(bool bInitialiseAllAudioDSP bool CActiveAEDSP::UpdateAddons(void) { VECADDONS addons; + AE_DSP_ADDON dspAddon; bool bReturn(CAddonMgr::GetInstance().GetAddons(ADDON_ADSPDLL, addons, true)); size_t usableAddons; @@ -748,15 +752,15 @@ bool CActiveAEDSP::UpdateAddons(void) usableAddons = m_addons.size(); /* handle "new" addons which aren't yet in the db - these have to be added first */ - for (unsigned iAddonPtr = 0; iAddonPtr < m_addons.size(); iAddonPtr++) + for (VECADDONS::const_iterator itr = addons.begin(); itr != addons.end(); ++itr) { - const AddonPtr dspAddon = m_addons.at(iAddonPtr); + dspAddon = std::dynamic_pointer_cast<CActiveAEDSPAddon>(*itr); bool newRegistration = false; if (RegisterAudioDSPAddon(dspAddon, &newRegistration) < 0 || newRegistration) { CAddonMgr::GetInstance().DisableAddon(dspAddon->ID()); - usableAddons--; + --usableAddons; } } @@ -764,11 +768,14 @@ bool CActiveAEDSP::UpdateAddons(void) !CAddonMgr::GetInstance().HasAddons(ADDON_ADSPDLL, false) && IsActivated()) { + // No audio DSP add-ons could be found + // You need a add-on installed for the process of audio DSP signal. System becomes disabled. m_noAddonWarningDisplayed = true; + CGUIDialogOK::ShowAndGetInput(CVariant{19273}, CVariant{19274}); CSettings::GetInstance().SetBool(CSettings::SETTING_AUDIOOUTPUT_DSPADDONSENABLED, false); - CGUIDialogOK::ShowAndGetInput(24055, 24056, 24057, 24058); CGUIMessage msg(GUI_MSG_UPDATE, WINDOW_SETTINGS_SYSTEM, 0); g_windowManager.SendThreadMessage(msg, WINDOW_SETTINGS_SYSTEM); + CApplicationMessenger::GetInstance().SendMsg(TMSG_SETAUDIODSPSTATE, ACTIVE_AE_DSP_STATE_OFF); } return bReturn; @@ -787,10 +794,10 @@ void CActiveAEDSP::Process(void) CAddonMgr::GetInstance().RegisterAddonMgrCallback(ADDON_ADSPDLL, this); CAddonMgr::GetInstance().RegisterObserver(this); - UpdateAddons(); - m_isActive = true; + UpdateAddons(); + while (!g_application.m_bStop && !m_bStop) { UpdateAndInitialiseAudioDSPAddons(); @@ -926,9 +933,11 @@ int CActiveAEDSP::EnabledAudioDSPAddonAmount(void) const int iReturn(0); CSingleLock lock(m_critUpdateSection); - for (AE_DSP_ADDONMAP_CITR itr = m_addonMap.begin(); itr != m_addonMap.end(); itr++) - if (itr->second->Enabled()) + for (AE_DSP_ADDONMAP_CITR citr = m_addonMap.begin(); citr != m_addonMap.end(); ++citr) + { + if (citr->second->Enabled()) ++iReturn; + } return iReturn; } @@ -943,11 +952,11 @@ int CActiveAEDSP::GetEnabledAudioDSPAddons(AE_DSP_ADDONMAP &addons) const int iReturn(0); CSingleLock lock(m_critUpdateSection); - for (AE_DSP_ADDONMAP_CITR itr = m_addonMap.begin(); itr != m_addonMap.end(); itr++) + for (AE_DSP_ADDONMAP_CITR citr = m_addonMap.begin(); citr != m_addonMap.end(); ++citr) { - if (itr->second->Enabled()) + if (citr->second->Enabled()) { - addons.insert(std::make_pair(itr->second->GetID(), itr->second)); + addons.insert(std::make_pair(citr->second->GetID(), citr->second)); ++iReturn; } } @@ -960,9 +969,11 @@ int CActiveAEDSP::ReadyAudioDSPAddonAmount(void) const int iReturn(0); CSingleLock lock(m_critUpdateSection); - for (AE_DSP_ADDONMAP_CITR itr = m_addonMap.begin(); itr != m_addonMap.end(); itr++) - if (itr->second->ReadyToUse()) + for (AE_DSP_ADDONMAP_CITR citr = m_addonMap.begin(); citr != m_addonMap.end(); ++citr) + { + if (citr->second->ReadyToUse()) ++iReturn; + } return iReturn; } @@ -982,9 +993,12 @@ bool CActiveAEDSP::IsReadyAudioDSPAddon(const AddonPtr &addon) { CSingleLock lock(m_critUpdateSection); - for (AE_DSP_ADDONMAP_CITR itr = m_addonMap.begin(); itr != m_addonMap.end(); itr++) - if (itr->second->ID() == addon->ID()) - return itr->second->ReadyToUse(); + for (AE_DSP_ADDONMAP_CITR citr = m_addonMap.begin(); citr != m_addonMap.end(); ++citr) + { + if (citr->second->ID() == addon->ID()) + return citr->second->ReadyToUse(); + } + return false; } @@ -993,11 +1007,11 @@ int CActiveAEDSP::GetReadyAddons(AE_DSP_ADDONMAP &addons) const int iReturn(0); CSingleLock lock(m_critSection); - for (AE_DSP_ADDONMAP_CITR itr = m_addonMap.begin(); itr != m_addonMap.end(); itr++) + for (AE_DSP_ADDONMAP_CITR citr = m_addonMap.begin(); citr != m_addonMap.end(); ++citr) { - if (itr->second->ReadyToUse()) + if (citr->second->ReadyToUse()) { - addons.insert(std::make_pair(itr->second->GetID(), itr->second)); + addons.insert(std::make_pair(citr->second->GetID(), citr->second)); ++iReturn; } } @@ -1030,10 +1044,10 @@ bool CActiveAEDSP::GetAudioDSPAddon(int iAddonId, AE_DSP_ADDON &addon) const CSingleLock lock(m_critUpdateSection); - AE_DSP_ADDONMAP_CITR itr = m_addonMap.find(iAddonId); - if (itr != m_addonMap.end()) + AE_DSP_ADDONMAP_CITR citr = m_addonMap.find(iAddonId); + if (citr != m_addonMap.end()) { - addon = itr->second; + addon = citr->second; bReturn = true; } @@ -1043,11 +1057,11 @@ bool CActiveAEDSP::GetAudioDSPAddon(int iAddonId, AE_DSP_ADDON &addon) const bool CActiveAEDSP::GetAudioDSPAddon(const std::string &strId, AddonPtr &addon) const { CSingleLock lock(m_critUpdateSection); - for (AE_DSP_ADDONMAP_CITR itr = m_addonMap.begin(); itr != m_addonMap.end(); itr++) + for (AE_DSP_ADDONMAP_CITR citr = m_addonMap.begin(); citr != m_addonMap.end(); ++citr) { - if (itr->second->ID() == strId) + if (citr->second->ID() == strId) { - addon = itr->second; + addon = citr->second; return true; } } @@ -1059,13 +1073,13 @@ bool CActiveAEDSP::GetAudioDSPAddon(const std::string &strId, AddonPtr &addon) c //@{ bool CActiveAEDSP::HaveMenuHooks(AE_DSP_MENUHOOK_CAT cat, int iDSPAddonID) { - for (AE_DSP_ADDONMAP_CITR itr = m_addonMap.begin(); itr != m_addonMap.end(); itr++) + for (AE_DSP_ADDONMAP_CITR citr = m_addonMap.begin(); citr != m_addonMap.end(); ++citr) { - if (itr->second->ReadyToUse()) + if (citr->second->ReadyToUse()) { - if (itr->second->HaveMenuHooks(cat)) + if (citr->second->HaveMenuHooks(cat)) { - if (iDSPAddonID > 0 && itr->second->GetID() == iDSPAddonID) + if (iDSPAddonID > 0 && citr->second->GetID() == iDSPAddonID) return true; else if (iDSPAddonID < 0) return true; @@ -1073,7 +1087,7 @@ bool CActiveAEDSP::HaveMenuHooks(AE_DSP_MENUHOOK_CAT cat, int iDSPAddonID) else if (cat == AE_DSP_MENUHOOK_SETTING) { AddonPtr addon; - if (CAddonMgr::GetInstance().GetAddon(itr->second->ID(), addon) && addon->HasSettings()) + if (CAddonMgr::GetInstance().GetAddon(citr->second->ID(), addon) && addon->HasSettings()) return true; } } @@ -1093,7 +1107,7 @@ bool CActiveAEDSP::GetMenuHooks(int iDSPAddonID, AE_DSP_MENUHOOK_CAT cat, AE_DSP if (GetReadyAudioDSPAddon(iDSPAddonID, addon) && addon->HaveMenuHooks(cat)) { AE_DSP_MENUHOOKS *addonhooks = addon->GetMenuHooks(); - for (unsigned int i = 0; i < addonhooks->size(); i++) + for (unsigned int i = 0; i < addonhooks->size(); ++i) { if (cat == AE_DSP_MENUHOOK_ALL || addonhooks->at(i).category == cat) { diff --git a/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPAddon.cpp b/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPAddon.cpp index e94ae5cce9..ecb6a838ac 100644 --- a/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPAddon.cpp +++ b/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPAddon.cpp @@ -374,7 +374,7 @@ bool CActiveAEDSPAddon::HaveMenuHooks(AE_DSP_MENUHOOK_CAT cat) const { if (m_bReadyToUse && m_menuhooks.size() > 0) { - for (unsigned int i = 0; i < m_menuhooks.size(); i++) + for (unsigned int i = 0; i < m_menuhooks.size(); ++i) { if (m_menuhooks[i].category == cat || m_menuhooks[i].category == AE_DSP_MENUHOOK_ALL) return true; diff --git a/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPDatabase.cpp b/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPDatabase.cpp index 2925ef7d9c..587e884553 100644 --- a/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPDatabase.cpp +++ b/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPDatabase.cpp @@ -94,7 +94,7 @@ void CActiveAEDSPDatabase::CreateTables() CLog::Log(LOGERROR, "Audio DSP - %s - failed to get add-ons from the add-on manager", __FUNCTION__); else { - for (IVECADDONS it = addons.begin(); it != addons.end(); it++) + for (IVECADDONS it = addons.begin(); it != addons.end(); ++it) CAddonMgr::GetInstance().DisableAddon(it->get()->ID()); } } @@ -175,7 +175,7 @@ bool CActiveAEDSPDatabase::PersistModes(std::vector<CActiveAEDSPModePtr> &modes, { bool bReturn(true); - for (unsigned int iModePtr = 0; iModePtr < modes.size(); iModePtr++) + for (unsigned int iModePtr = 0; iModePtr < modes.size(); ++iModePtr) { CActiveAEDSPModePtr member = modes.at(iModePtr); if (!member->IsInternal() && (member->IsChanged() || member->IsNew())) diff --git a/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPProcess.cpp b/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPProcess.cpp index eaa4b50a1e..fb6a8844c2 100644 --- a/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPProcess.cpp +++ b/xbmc/cores/AudioEngine/DSPAddons/ActiveAEDSPProcess.cpp @@ -61,7 +61,7 @@ CActiveAEDSPProcess::CActiveAEDSPProcess(AE_DSP_STREAM_ID streamId) * If a bigger size is neeeded it becomes reallocated during DSP processing. */ m_processArraySize = MIN_DSP_ARRAY_SIZE; - for (int i = 0; i < AE_DSP_CH_MAX; i++) + for (int i = 0; i < AE_DSP_CH_MAX; ++i) { m_processArray[0][i] = (float*)calloc(m_processArraySize, sizeof(float)); m_processArray[1][i] = (float*)calloc(m_processArraySize, sizeof(float)); @@ -79,7 +79,7 @@ CActiveAEDSPProcess::~CActiveAEDSPProcess() } /* Clear the buffer arrays */ - for (int i = 0; i < AE_DSP_CH_MAX; i++) + for (int i = 0; i < AE_DSP_CH_MAX; ++i) { if(m_processArray[0][i]) free(m_processArray[0][i]); @@ -316,7 +316,7 @@ bool CActiveAEDSPProcess::Create(const AEAudioFormat &inputFormat, const AEAudio const AE_DSP_MODELIST listInputResample = CActiveAEDSP::GetInstance().GetAvailableModes(AE_DSP_MODE_TYPE_INPUT_RESAMPLE); if (listInputResample.size() == 0) CLog::Log(LOGDEBUG, " | - no input resample addon present or enabled"); - for (unsigned int i = 0; i < listInputResample.size(); i++) + for (unsigned int i = 0; i < listInputResample.size(); ++i) { /// For resample only one call is allowed. Use first one and ignore everything else. CActiveAEDSPModePtr pMode = listInputResample[i].first; @@ -369,7 +369,7 @@ bool CActiveAEDSPProcess::Create(const AEAudioFormat &inputFormat, const AEAudio /*! * Now init all other dsp relavant addons */ - for (AE_DSP_ADDONMAP_ITR itr = addonMap.begin(); itr != addonMap.end(); itr++) + for (AE_DSP_ADDONMAP_ITR itr = addonMap.begin(); itr != addonMap.end(); ++itr) { AE_DSP_ADDON addon = itr->second; int id = addon->GetID(); @@ -389,7 +389,7 @@ bool CActiveAEDSPProcess::Create(const AEAudioFormat &inputFormat, const AEAudio } } - for (AE_DSP_ADDONMAP_ITR itr = m_usedMap.begin(); itr != m_usedMap.end(); itr++) + for (AE_DSP_ADDONMAP_ITR itr = m_usedMap.begin(); itr != m_usedMap.end(); ++itr) { AE_DSP_ADDON addon = itr->second; if (addon->SupportsInputInfoProcess()) @@ -406,11 +406,11 @@ bool CActiveAEDSPProcess::Create(const AEAudioFormat &inputFormat, const AEAudio */ CLog::Log(LOGDEBUG, " ---- DSP active pre process modes ---"); const AE_DSP_MODELIST listPreProcess = CActiveAEDSP::GetInstance().GetAvailableModes(AE_DSP_MODE_TYPE_PRE_PROCESS); - for (unsigned int i = 0; i < listPreProcess.size(); i++) + for (unsigned int i = 0; i < listPreProcess.size(); ++i) { CActiveAEDSPModePtr pMode = listPreProcess[i].first; AE_DSP_ADDON addon = listPreProcess[i].second; - int id = addon->GetID(); + int id = addon->GetID(); if (m_usedMap.find(id) == m_usedMap.end()) continue; @@ -436,7 +436,7 @@ bool CActiveAEDSPProcess::Create(const AEAudioFormat &inputFormat, const AEAudio */ CLog::Log(LOGDEBUG, " ---- DSP active master process modes ---"); const AE_DSP_MODELIST listMasterProcess = CActiveAEDSP::GetInstance().GetAvailableModes(AE_DSP_MODE_TYPE_MASTER_PROCESS); - for (unsigned int i = 0; i < listMasterProcess.size(); i++) + for (unsigned int i = 0; i < listMasterProcess.size(); ++i) { CActiveAEDSPModePtr pMode = listMasterProcess[i].first; AE_DSP_ADDON addon = listMasterProcess[i].second; @@ -469,7 +469,7 @@ bool CActiveAEDSPProcess::Create(const AEAudioFormat &inputFormat, const AEAudio if (modeID == AE_DSP_MASTER_MODE_ID_INVALID) modeID = AE_DSP_MASTER_MODE_ID_PASSOVER; - for (unsigned int ptr = 0; ptr < m_addons_MasterProc.size(); ptr++) + for (unsigned int ptr = 0; ptr < m_addons_MasterProc.size(); ++ptr) { CActiveAEDSPModePtr mode = m_addons_MasterProc.at(ptr).pMode; if (mode->ModeID() == modeID) @@ -510,7 +510,7 @@ bool CActiveAEDSPProcess::Create(const AEAudioFormat &inputFormat, const AEAudio */ CLog::Log(LOGDEBUG, " ---- DSP active post process modes ---"); const AE_DSP_MODELIST listPostProcess = CActiveAEDSP::GetInstance().GetAvailableModes(AE_DSP_MODE_TYPE_POST_PROCESS); - for (unsigned int i = 0; i < listPostProcess.size(); i++) + for (unsigned int i = 0; i < listPostProcess.size(); ++i) { CActiveAEDSPModePtr pMode = listPostProcess[i].first; AE_DSP_ADDON addon = listPostProcess[i].second; @@ -545,7 +545,7 @@ bool CActiveAEDSPProcess::Create(const AEAudioFormat &inputFormat, const AEAudio const AE_DSP_MODELIST listOutputResample = CActiveAEDSP::GetInstance().GetAvailableModes(AE_DSP_MODE_TYPE_OUTPUT_RESAMPLE); if (listOutputResample.size() == 0) CLog::Log(LOGDEBUG, " | - no final post resample addon present or enabled, becomes performed by KODI"); - for (unsigned int i = 0; i < listOutputResample.size(); i++) + for (unsigned int i = 0; i < listOutputResample.size(); ++i) { /// For resample only one call is allowed. Use first one and ignore everything else. CActiveAEDSPModePtr pMode = listOutputResample[i].first; @@ -822,7 +822,7 @@ void CActiveAEDSPProcess::Destroy() if (!CActiveAEDSP::GetInstance().IsActivated()) return; - for (AE_DSP_ADDONMAP_ITR itr = m_usedMap.begin(); itr != m_usedMap.end(); itr++) + for (AE_DSP_ADDONMAP_ITR itr = m_usedMap.begin(); itr != m_usedMap.end(); ++itr) { itr->second->StreamDestroy(&m_addon_Handles[itr->first]); } @@ -1051,7 +1051,7 @@ bool CActiveAEDSPProcess::MasterModeChange(int iModeID, AE_DSP_STREAMTYPE iStrea else { CActiveAEDSPModePtr mode; - for (unsigned int ptr = 0; ptr < m_addons_MasterProc.size(); ptr++) + for (unsigned int ptr = 0; ptr < m_addons_MasterProc.size(); ++ptr) { mode = m_addons_MasterProc.at(ptr).pMode; if (mode->ModeID() == iModeID && mode->IsEnabled()) @@ -1105,7 +1105,7 @@ bool CActiveAEDSPProcess::MasterModeChange(int iModeID, AE_DSP_STREAMTYPE iStrea void CActiveAEDSPProcess::ClearArray(float **array, unsigned int samples) { unsigned int presentFlag = 1; - for (int i = 0; i < AE_DSP_CH_MAX; i++) + for (int i = 0; i < AE_DSP_CH_MAX; ++i) { if (m_addonSettings.lOutChannelPresentFlags & presentFlag) memset(array[i], 0, samples*sizeof(float)); @@ -1232,7 +1232,7 @@ bool CActiveAEDSPProcess::Process(CSampleBuffer *in, CSampleBuffer *out) m_NewStreamType = AE_DSP_ASTREAM_INVALID; } - for (AE_DSP_ADDONMAP_ITR itr = m_usedMap.begin(); itr != m_usedMap.end(); itr++) + for (AE_DSP_ADDONMAP_ITR itr = m_usedMap.begin(); itr != m_usedMap.end(); ++itr) { AE_DSP_ERROR err = itr->second->StreamInitialize(&m_addon_Handles[itr->first], &m_addonSettings); if (err != AE_DSP_ERROR_NO_ERROR) @@ -1278,7 +1278,7 @@ bool CActiveAEDSPProcess::Process(CSampleBuffer *in, CSampleBuffer *out) * Can be used to have unchanged input stream.. * All DSP addons allowed todo this. */ - for (unsigned int i = 0; i < m_addons_InputProc.size(); i++) + for (unsigned int i = 0; i < m_addons_InputProc.size(); ++i) { if (!m_addons_InputProc[i].pAddon->InputProcess(&m_addons_InputProc[i].handle, (const float **)lastOutArray, frames)) { @@ -1310,7 +1310,7 @@ bool CActiveAEDSPProcess::Process(CSampleBuffer *in, CSampleBuffer *out) * DSP pre processing * All DSP addons allowed todo this and order of it set on settings. */ - for (unsigned int i = 0; i < m_addons_PreProc.size(); i++) + for (unsigned int i = 0; i < m_addons_PreProc.size(); ++i) { startTime = CurrentHostCounter(); @@ -1374,7 +1374,7 @@ bool CActiveAEDSPProcess::Process(CSampleBuffer *in, CSampleBuffer *out) * or frequency/volume corrections, speaker distance handling, equalizer... . * All DSP addons allowed todo this and order of it set on settings. */ - for (unsigned int i = 0; i < m_addons_PostProc.size(); i++) + for (unsigned int i = 0; i < m_addons_PostProc.size(); ++i) { startTime = CurrentHostCounter(); @@ -1448,7 +1448,7 @@ bool CActiveAEDSPProcess::RecheckProcessArray(unsigned int inputFrames) framesOut = framesNeeded; } - for (unsigned int i = 0; i < m_addons_PreProc.size(); i++) + for (unsigned int i = 0; i < m_addons_PreProc.size(); ++i) { framesNeeded = m_addons_PreProc[i].pAddon->PreProcessNeededSamplesize(&m_addons_PreProc[i].handle, m_addons_PreProc[i].iAddonModeNumber); if (framesNeeded > framesOut) @@ -1462,7 +1462,7 @@ bool CActiveAEDSPProcess::RecheckProcessArray(unsigned int inputFrames) framesOut = framesNeeded; } - for (unsigned int i = 0; i < m_addons_PostProc.size(); i++) + for (unsigned int i = 0; i < m_addons_PostProc.size(); ++i) { framesNeeded = m_addons_PostProc[i].pAddon->PostProcessNeededSamplesize(&m_addons_PostProc[i].handle, m_addons_PostProc[i].iAddonModeNumber); if (framesNeeded > framesOut) @@ -1489,7 +1489,7 @@ bool CActiveAEDSPProcess::RecheckProcessArray(unsigned int inputFrames) bool CActiveAEDSPProcess::ReallocProcessArray(unsigned int requestSize) { m_processArraySize = requestSize + MIN_DSP_ARRAY_SIZE / 10; - for (int i = 0; i < AE_DSP_CH_MAX; i++) + for (int i = 0; i < AE_DSP_CH_MAX; ++i) { m_processArray[0][i] = (float*)realloc(m_processArray[0][i], m_processArraySize*sizeof(float)); m_processArray[1][i] = (float*)realloc(m_processArray[1][i], m_processArraySize*sizeof(float)); @@ -1523,7 +1523,7 @@ void CActiveAEDSPProcess::CalculateCPUUsage(unsigned int iTime) m_addon_InputResample.iLastTime = 0; } - for (unsigned int i = 0; i < m_addons_PreProc.size(); i++) + for (unsigned int i = 0; i < m_addons_PreProc.size(); ++i) { m_addons_PreProc[i].pMode->SetCPUUsage((float)(m_addons_PreProc[i].iLastTime)*dTFactor); m_addons_PreProc[i].iLastTime = 0; @@ -1535,7 +1535,7 @@ void CActiveAEDSPProcess::CalculateCPUUsage(unsigned int iTime) m_addons_MasterProc[m_activeMode].iLastTime = 0; } - for (unsigned int i = 0; i < m_addons_PostProc.size(); i++) + for (unsigned int i = 0; i < m_addons_PostProc.size(); ++i) { m_addons_PostProc[i].pMode->SetCPUUsage((float)(m_addons_PostProc[i].iLastTime)*dTFactor); m_addons_PostProc[i].iLastTime = 0; @@ -1691,13 +1691,13 @@ float CActiveAEDSPProcess::GetDelay() if (m_addon_InputResample.pAddon) delay += m_addon_InputResample.pAddon->InputResampleGetDelay(&m_addon_InputResample.handle); - for (unsigned int i = 0; i < m_addons_PreProc.size(); i++) + for (unsigned int i = 0; i < m_addons_PreProc.size(); ++i) delay += m_addons_PreProc[i].pAddon->PreProcessGetDelay(&m_addons_PreProc[i].handle, m_addons_PreProc[i].iAddonModeNumber); if (m_addons_MasterProc[m_activeMode].pAddon) delay += m_addons_MasterProc[m_activeMode].pAddon->MasterProcessGetDelay(&m_addons_MasterProc[m_activeMode].handle); - for (unsigned int i = 0; i < m_addons_PostProc.size(); i++) + for (unsigned int i = 0; i < m_addons_PostProc.size(); ++i) delay += m_addons_PostProc[i].pAddon->PostProcessGetDelay(&m_addons_PostProc[i].handle, m_addons_PostProc[i].iAddonModeNumber); if (m_addon_OutputResample.pAddon) @@ -1749,14 +1749,14 @@ void CActiveAEDSPProcess::GetActiveModes(AE_DSP_MODE_TYPE type, std::vector<CAct modes.push_back(m_addon_InputResample.pMode); if (type == AE_DSP_MODE_TYPE_UNDEFINED || type == AE_DSP_MODE_TYPE_PRE_PROCESS) - for (unsigned int i = 0; i < m_addons_PreProc.size(); i++) + for (unsigned int i = 0; i < m_addons_PreProc.size(); ++i) modes.push_back(m_addons_PreProc[i].pMode); if (m_addons_MasterProc[m_activeMode].pAddon != NULL && (type == AE_DSP_MODE_TYPE_UNDEFINED || type == AE_DSP_MODE_TYPE_MASTER_PROCESS)) modes.push_back(m_addons_MasterProc[m_activeMode].pMode); if (type == AE_DSP_MODE_TYPE_UNDEFINED || type == AE_DSP_MODE_TYPE_POST_PROCESS) - for (unsigned int i = 0; i < m_addons_PostProc.size(); i++) + for (unsigned int i = 0; i < m_addons_PostProc.size(); ++i) modes.push_back(m_addons_PostProc[i].pMode); if (m_addon_OutputResample.pAddon != NULL && (type == AE_DSP_MODE_TYPE_UNDEFINED || type == AE_DSP_MODE_TYPE_OUTPUT_RESAMPLE)) @@ -1767,7 +1767,7 @@ void CActiveAEDSPProcess::GetAvailableMasterModes(AE_DSP_STREAMTYPE streamType, { CSingleLock lock(m_critSection); - for (unsigned int i = 0; i < m_addons_MasterProc.size(); i++) + for (unsigned int i = 0; i < m_addons_MasterProc.size(); ++i) { if (m_addons_MasterProc[i].pMode->SupportStreamType(streamType)) modes.push_back(m_addons_MasterProc[i].pMode); @@ -1845,7 +1845,7 @@ bool CActiveAEDSPProcess::IsMenuHookModeActive(AE_DSP_MENUHOOK_CAT category, int if (addons) { - for (unsigned int i = 0; i < addons->size(); i++) + for (unsigned int i = 0; i < addons->size(); ++i) { if (addons->at(i).iAddonModeNumber > 0 && addons->at(i).pMode->AddonID() == iAddonId && diff --git a/xbmc/filesystem/AddonsDirectory.cpp b/xbmc/filesystem/AddonsDirectory.cpp index 5cfe3de9d3..9cd6607096 100644 --- a/xbmc/filesystem/AddonsDirectory.cpp +++ b/xbmc/filesystem/AddonsDirectory.cpp @@ -478,13 +478,22 @@ bool CAddonsDirectory::GetDirectory(const CURL& url, CFileItemList &items) OrphanedAddons(path, items); return true; } - //Pvr hardcodes this view so keep for compatibility - else if (endpoint == "disabled" && path.GetFileName() == "xbmc.pvrclient") + // PVR & adsp hardcodes this view so keep for compatibility + else if (endpoint == "disabled") { VECADDONS addons; - if (CAddonMgr::GetInstance().GetAddons(ADDON_PVRDLL, addons, false)) + ADDON::TYPE type; + + if (path.GetFileName() == "xbmc.pvrclient") + type = ADDON_PVRDLL; + else if (path.GetFileName() == "kodi.adsp") + type = ADDON_ADSPDLL; + else + type = ADDON_UNKNOWN; + + if (type != ADDON_UNKNOWN && CAddonMgr::GetInstance().GetAddons(type, addons, false)) { - CAddonsDirectory::GenerateAddonListing(path, addons, items, TranslateType(ADDON_PVRDLL, true)); + CAddonsDirectory::GenerateAddonListing(path, addons, items, TranslateType(type, true)); return true; } return false; |