Skip to content

Commit

Permalink
Revert "[AE/CA] - implement streamsilence flag (releases powermanagem…
Browse files Browse the repository at this point in the history
…ent assertion which is hold since lion even when holding a shared audio device open)"

This reverts commit 2add0c6.
  • Loading branch information
davilla committed Jan 22, 2013
1 parent a53c00e commit 2756d5f
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 38 deletions.
40 changes: 4 additions & 36 deletions xbmc/cores/AudioEngine/Engines/CoreAudio/CoreAudioAE.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
#include "utils/log.h"
#include "utils/TimeUtils.h"
#include "utils/MathUtils.h"
#include "threads/SystemClock.h"

#define DELAY_FRAME_TIME 20
#define BUFFERSIZE 16416
Expand All @@ -51,9 +50,7 @@ CCoreAudioAE::CCoreAudioAE() :
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;
}
Expand Down Expand Up @@ -431,7 +428,7 @@ IAEStream* CCoreAudioAE::MakeStream(enum AEDataFormat dataFormat,
{
// 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);
Expand Down Expand Up @@ -513,7 +510,7 @@ IAEStream* CCoreAudioAE::FreeStream(IAEStream *stream)

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();
Expand Down Expand Up @@ -635,40 +632,11 @@ void CCoreAudioAE::MixSounds(float *buffer, unsigned int samples)

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);
Expand Down
2 changes: 0 additions & 2 deletions xbmc/cores/AudioEngine/Engines/CoreAudio/CoreAudioAE.h
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,4 @@ class CCoreAudioAE : public IAE, public ICoreAudioSource
int m_soundMode;
bool m_streamsPlaying;
bool m_isSuspended;
bool m_softSuspend;
unsigned int m_softSuspendTimer;
};

0 comments on commit 2756d5f

Please sign in to comment.