diff --git a/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp b/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp index b1180a1b47..2d245348a9 100644 --- a/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp +++ b/Source/Core/Core/HW/DSPLLE/DSPLLE.cpp @@ -17,6 +17,8 @@ #include "Core/ConfigManager.h" #include "Core/Core.h" #include "Core/Host.h" +#include "Core/Movie.h" +#include "Core/NetPlayProto.h" #include "Core/DSP/DSPCaptureLogger.h" #include "Core/DSP/DSPCore.h" #include "Core/DSP/DSPDisassembler.h" @@ -31,7 +33,6 @@ #include "Core/HW/DSPLLE/DSPLLEGlobals.h" #include "Core/HW/DSPLLE/DSPSymbols.h" - DSPLLE::DSPLLE() { m_bIsRunning = false; @@ -314,12 +315,15 @@ void DSPLLE::DSP_Update(int cycles) soundStream->Update(); } */ - if (requestDisableThread) + if (m_bDSPThread) { - DSP_StopSoundStream(); - m_bDSPThread = false; - requestDisableThread = false; - SConfig::GetInstance().m_LocalCoreStartupParameter.bDSPThread = false; + if (requestDisableThread || NetPlay::IsNetPlayRunning() || Movie::IsMovieActive()) + { + DSP_StopSoundStream(); + m_bDSPThread = false; + requestDisableThread = false; + SConfig::GetInstance().m_LocalCoreStartupParameter.bDSPThread = false; + } } // If we're not on a thread, run cycles here.