コード例 #1
0
ファイル: VideoSyncIos.cpp プロジェクト: DaHenchmen/DHMC
bool CVideoSyncIos::Setup(PUPDATECLOCK func)
{
  CLog::Log(LOGDEBUG, "CVideoSyncIos::%s setting up OSX", __FUNCTION__);
  
  //init the vblank timestamp
  m_LastVBlankTime = CurrentHostCounter();
  UpdateClock = func;
  m_abort = false;
  
  bool setupOk = InitDisplayLink();
  if (setupOk)
  {
    g_Windowing.Register(this);
  }
  
  return setupOk;
}
コード例 #2
0
ファイル: VideoSyncOsx.cpp プロジェクト: 0xheart0/xbmc
void CVideoSyncOsx::Run(volatile bool& stop)
{
  InitDisplayLink();

  //because cocoa has a vblank callback, we just keep sleeping until we're asked to stop the thread
  while(!stop && !m_displayLost && !m_displayReset)
  {
    usleep(100000);
  }

  m_lostEvent.Set();

  while(!stop && m_displayLost && !m_displayReset)
  {
    usleep(10000);
  }

  DeinitDisplayLink();
}