Ejemplo n.º 1
0
void CCoreAudioAE::Shutdown()
{
  CSingleLock engineLock(m_engineLock);

  Stop();

  Deinitialize();

  /* free the streams */
  CSingleLock streamLock(m_streamLock);
  while (!m_streams.empty())
  {
    CCoreAudioAEStream *s = m_streams.front();
    m_sounds.pop_front();
    delete s;
  }

  /* free the sounds */
  CSingleLock soundLock(m_soundLock);
  while (!m_sounds.empty())
  {
    CCoreAudioAESound *s = m_sounds.front();
    m_sounds.pop_front();
    delete s;
  }

  delete HAL;
  HAL = NULL;
}
Ejemplo n.º 2
0
void CCoreAudioAE::AudioDevicesChanged()
{
  if (!m_Initialized)
    return;

  // give CA a bit time to realise that maybe the 
  // default device might have changed now - else
  // OpenCoreAudio might open the old default device
  // again (yeah that really is the case - duh)
  Sleep(500);
  CSingleLock engineLock(m_engineLock);
  OpenCoreAudio(m_lastSampleRate, COREAUDIO_IS_RAW(m_lastStreamFormat), m_lastStreamFormat);
}
Ejemplo n.º 3
0
bool CCoreAudioAE::Initialize()
{
  CSingleLock engineLock(m_engineLock);

  Stop();

  Deinitialize();

  bool ret = OpenCoreAudio(44100, false, AE_FMT_FLOAT);

  Start();

  return ret;
}
Ejemplo n.º 4
0
bool CCoreAudioAE::Initialize()
{
  CSingleLock engineLock(m_engineLock);

  Stop();

  Deinitialize();

  bool ret = OpenCoreAudio(44100, false, AE_FMT_FLOAT);
  m_lastSampleRate = 44100;
  m_lastStreamFormat = AE_FMT_FLOAT;

  Start();

  return ret;
}