#include "utils/log.h"
#include "utils/TimeUtils.h"
#include "utils/MathUtils.h"
-#include "threads/SystemClock.h"
#define DELAY_FRAME_TIME 20
#define BUFFERSIZE 16416
m_muted (false ),
m_soundMode (AE_SOUND_OFF ),
m_streamsPlaying (false ),
- m_isSuspended (false ),
- m_softSuspend (false ),
- m_softSuspendTimer (0 )
+ m_isSuspended (false )
{
HAL = new CCoreAudioAEHAL;
}
{
// if we are suspended we don't
// want anyone to mess with us
- if (m_isSuspended && !m_softSuspend)
+ if (m_isSuspended)
return NULL;
CAEChannelInfo channelInfo(channelLayout);
void CCoreAudioAE::PlaySound(IAESound *sound)
{
- if (m_soundMode == AE_SOUND_OFF || (m_soundMode == AE_SOUND_IDLE && m_streamsPlaying) || (m_isSuspended && !m_softSuspend))
+ if (m_soundMode == AE_SOUND_OFF || (m_soundMode == AE_SOUND_IDLE && m_streamsPlaying) || m_isSuspended)
return;
float *samples = ((CCoreAudioAESound*)sound)->GetSamples();
void CCoreAudioAE::GarbageCollect()
{
- if (g_advancedSettings.m_streamSilence)
- return;
-
- if (!m_streamsPlaying && m_playing_sounds.empty())
- {
- if (!m_softSuspend)
- {
- m_softSuspend = true;
- m_softSuspendTimer = XbmcThreads::SystemClockMillis() + 10000; //10.0 second delay for softSuspend
- }
- }
- else
- {
- if (m_isSuspended)
- {
- CLog::Log(LOGDEBUG, "CCoreAudioAE::GarbageCollect - Acquire CA HAL.");
- Start();
- m_isSuspended = false;
- }
- m_softSuspend = false;
- }
-
- unsigned int curSystemClock = XbmcThreads::SystemClockMillis();
- if (!m_isSuspended && m_softSuspend && curSystemClock > m_softSuspendTimer)
- {
- Stop();
- m_isSuspended = true;
- CLog::Log(LOGDEBUG, "CCoreAudioAE::GarbageCollect - Release CA HAL.");
- }
}
void CCoreAudioAE::EnumerateOutputDevices(AEDeviceList &devices, bool passthrough)
{
- if (m_isSuspended && !m_softSuspend)
+ if (m_isSuspended)
return;
HAL->EnumerateOutputDevices(devices, passthrough);