aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfritsch <peter.fruehberger@gmail.com>2013-02-10 21:49:31 +0100
committerS. Davilla <davilla@4pi.com>2013-02-19 11:45:23 -0500
commitf637c034d1152bd0f67429b86978affb5a7d1f54 (patch)
tree493208ae09e9551d4cb89eca7c1abe7f33e40d3a
parent8fd95be8616b459d49fa2c968a1eeeb25020a331 (diff)
AE: Linux AE - some fixes of yesterday merge (Enumerate + Resume)
-rw-r--r--xbmc/cores/AudioEngine/Engines/SoftAE/SoftAE.cpp8
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();
}