From f637c034d1152bd0f67429b86978affb5a7d1f54 Mon Sep 17 00:00:00 2001 From: fritsch Date: Sun, 10 Feb 2013 21:49:31 +0100 Subject: AE: Linux AE - some fixes of yesterday merge (Enumerate + Resume) --- xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp index 5676c721b1..2f58e9e2cf 100644 --- a/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp +++ b/xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp @@ -1024,7 +1024,7 @@ bool CSoftAE::Resume() { #if defined(TARGET_LINUX) // We must make sure, that we don't return empty. - if(m_isSuspended || m_sinkInfoList.empty()) + if(m_sinkInfoList.empty()) { CLog::Log(LOGDEBUG, "CSoftAE::Resume - Re Enumerating Sinks"); CExclusiveLock sinkLock(m_sinkLock); @@ -1095,6 +1095,12 @@ void CSoftAE::Run() /* if we are told to restart */ if (m_reOpen || restart || !m_sink) { + if(m_sinkIsSuspended && m_sink) + { + m_reOpen = m_reOpen || m_sink->SoftResume(); + m_sinkIsSuspended = false; + CLog::Log(LOGDEBUG, "CSoftAE::Run - Sink was forgotten"); + } CLog::Log(LOGDEBUG, "CSoftAE::Run - Sink restart flagged"); InternalOpenSink(); } -- cgit v1.2.3