diff options
author | fritsch <peter.fruehberger@gmail.com> | 2013-02-10 21:49:31 +0100 |
---|---|---|
committer | S. Davilla <davilla@4pi.com> | 2013-02-19 11:45:23 -0500 |
commit | f637c034d1152bd0f67429b86978affb5a7d1f54 (patch) | |
tree | 493208ae09e9551d4cb89eca7c1abe7f33e40d3a | |
parent | 8fd95be8616b459d49fa2c968a1eeeb25020a331 (diff) |
AE: Linux AE - some fixes of yesterday merge (Enumerate + Resume)
-rw-r--r-- | xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
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(); } |